mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-23 17:41:41 +00:00
[C++/en] Tuple , updated
This commit is contained in:
parent
c805148618
commit
4a1a6857ce
@ -967,10 +967,10 @@ v.swap(vector<Foo>());
|
||||
|
||||
// We start with constructing a tuple.
|
||||
// Packing values into tuple
|
||||
auto first = make_tuple( 10 , 'A' ) ;
|
||||
auto first = make_tuple(10,'A') ;
|
||||
const int maxN = 1e9;
|
||||
const int maxL = 15;
|
||||
auto second = make_tuple( maxN , maxL ) ;
|
||||
auto second = make_tuple(maxN,maxL) ;
|
||||
|
||||
// printing elements of 'first' tuple
|
||||
cout << get<0>(first) << " " << get<1>(first) << "\n"; //prints : 10 A
|
||||
@ -983,12 +983,12 @@ cout << get<0>(second) << " " << get<1>(second) << "\n"; // prints: 1000000000 1
|
||||
|
||||
int first_int;
|
||||
char first_char;
|
||||
tie(first_int , first_char ) = first;
|
||||
tie(first_int,first_char) = first;
|
||||
cout << first_int << " " << first_char << "\n"; // prints : 10 A
|
||||
|
||||
// We can also create tuple like this.
|
||||
|
||||
tuple<int , char , double> third ( 11 ,'A' , 3.14141);
|
||||
tuple<int,char,double> third (11,'A',3.14141);
|
||||
// tuple_size returns number of elements in a tuple (as a constexpr)
|
||||
|
||||
cout << tuple_size < decltype(third) >::value << "\n"; // prints: 3
|
||||
@ -996,7 +996,7 @@ cout << tuple_size < decltype(third) >::value << "\n"; // prints: 3
|
||||
// tuple_cat concatenates the elements of all the tuples in the same order.
|
||||
|
||||
auto concatenated_tuple = tuple_cat( first, second ,third);
|
||||
// concatenated_tuple becomes = (10 , 'A' , 1e9 , 15 , 11 , 'A' , 3.14141 )
|
||||
// concatenated_tuple becomes = (10,'A',1e9,15,11,'A',3.14141)
|
||||
|
||||
cout << get<0>(concatenated_tuple) << "\n"; // prints: 10
|
||||
cout << get<3>(concatenated_tuple) << "\n"; // prints: 15
|
||||
|
Loading…
Reference in New Issue
Block a user