|
You are here |
www.cppstories.com | ||
| | | | |
www.foonathan.net
|
|
| | | | | Just like regular function parameters, template parameters can also have default parameters. For class templates, this behaves mostly just like default function arguments: if you pass fewer template arguments than required, default template arguments are used to fill the remaining places. However, for function templates, it gets more complicated as template parameters for functions can be deduced by the normal function arguments. This leads to some interesting side-effects. In particular, default argumen... | |
| | | | |
hackingcpp.com
|
|
| | | | | Introduction, examples and visual explanations of the basic principles behind C++ standard library algorithms. | |
| | | | |
www.bfilipek.com
|
|
| | | | | Variadic Templates from C++11 is probably not a feature that you use on a daily basis. But recently, I've come across one refactoring example where I've decided to give a try and apply variadics. Intro When I was doing some work in some old UI code I've noticed several similar lines of code that looked like that: | |
| | | | |
www.cppstories.com
|
|
| | | In C++11, we got a handy way to initialize various containers. Rather than using push_back() or insert() several times, you can leverage a single constructor by taking an initializer list. For example, with a vector of strings, you can write: std::vector vec { "abc", "xyz", "***" }; We can also write expressions like: for (auto x : {1, 2, 3}) cout << x << ", "; The above code samples use std::initializer_list and (some compiler support) to hold the values and pass them around. Let's understa...... | ||