|
You are here |
sudonull.com | ||
| | | | |
www.foonathan.net
|
|
| | | | | When C++11 introduced move semantics, it also added two important helper functions: std::move and std::forward. They are essential when you want to manually indicate that you no longer care about an object or need to propagate the value category in generic code. As such, Ive used them countless times in the past. However, they are functions. Plain, old, standard library functions. This is problematic for multiple reasons. | |
| | | | |
blog.m-ou.se
|
|
| | | | | Recently, gcc added support rvalue references for *this. (Clang has supported it for quite a while now.) In this post, I show how to use this feature, and how it means we can finally define accessors and a few other things like operator= correctly. | |
| | | | |
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...... | |
| | | | |
ericniebler.com
|
|
| | | At GoingNative back in September, Andrei Alexandrescu posed an interesting question about API design and C++11 that has had me scratching my head for a month. It was about the design of std::getlin... | ||