Commit 8c822b1eb4d4fa9121048f79922dc23a8336c22b
1 parent
28f14253
Added two examples of dealing with tuples
Showing
1 changed file
with
17 additions
and
6 deletions
examples11/06-template_metaprogramming/testvector.cpp
... | ... | @@ -14,13 +14,24 @@ int main() { |
14 | 14 | a.push_back("5"); |
15 | 15 | a.push_back("6"); |
16 | 16 | a.push_back("7"); |
17 | - a.reserve(11); // to avoid reallocation and reference invalidation | |
18 | - auto [x, y, z] = a.push_back("8", "9", "10"); | |
17 | + a.reserve(10); // to avoid reallocation and reference invalidation | |
18 | + | |
19 | + std::tuple<string&, string&, string&> c = a.push_back("8", "9", "10"); | |
20 | + | |
19 | 21 | printvector(a); |
20 | - x = "108"; | |
21 | - y = "109"; | |
22 | - z = "110"; | |
23 | - string arg = "11"; | |
22 | + | |
23 | + get<0>(c) = "108"; | |
24 | + get<1>(c) = "109"; | |
25 | + get<2>(c) = "110"; | |
26 | + | |
27 | + printvector(a); | |
28 | + | |
29 | + a.reserve(12); | |
30 | + auto [x, y] = a.push_back("11", "12"); | |
31 | + x = "111"; | |
32 | + y = "112"; | |
33 | + | |
34 | + string arg = "13"; | |
24 | 35 | a.push_back(arg); |
25 | 36 | b = a; |
26 | 37 | printvector(b); | ... | ... |