|
You are here |
sudonull.com | ||
| | | | |
pagefault.blog
|
|
| | | | | C++11 move semantics can be a source of misunderstandings if the mechanics are not understood. This post clears up the most common one. | |
| | | | |
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...... | |
| | | | |
quuxplusone.github.io
|
|
| | | | | Via StackOverflow: Newcomers to C++20 Ranges are often surprised that some ranges cannot be "const-iterated." But it's true! template<std::ranges::range R> void foreach(const R& rg) { // Wrong! for (auto&& elt : rg) { } } | |
| | | | |
thekittymaths.wordpress.com
|
|
| | | A Compendium of Cool Internet Math Things | ||