C++의 튜플

튜플이란 무엇입니까?
튜플은 여러 요소를 보유할 수 있는 객체입니다. 요소는 다양한 데이터 유형일 수 있습니다. 튜플의 요소는 액세스되는 순서대로 인수로 초기화됩니다.

튜플에 대한 작업 :-
1. get() :- get()은 튜플 값에 액세스하고 이를 수정하는 데 사용되며, 특정 튜플 요소에 액세스하기 위한 인수로 인덱스와 튜플 이름을 허용합니다.

2. make_tuple() :- make_tuple()은 튜플에 값을 할당하는 데 사용됩니다. 전달된 값은 튜플에 선언된 값과 순서가 같아야 합니다.

CPP




// C++ code to demonstrate tuple, get() and make_pair()> #include> #include // for tuple> using> namespace> std;> int> main()> {> > // Declaring tuple> > tuple <> char> ,> int> ,> float> >괴짜;> > // Assigning values to tuple using make_tuple()> > geek = make_tuple(> 'a'> , 10, 15.5);> > // Printing initial tuple values using get()> > cout < < 'The initial values of tuple are : ';> > cout < < get(geek) < < ' ' < < get(geek);> > cout < < ' ' < < get(geek) < < endl;> > // Use of get() to change values of tuple> > get(geek) => 'b'> ;> > get(geek) = 20.5;> > // Printing modified tuple values> > cout < < 'The modified values of tuple are : ';> > cout < < get(geek) < < ' ' < < get(geek);> > cout < < ' ' < < get(geek) < < endl;> > return> 0;> }>

산출:

The initial values of tuple are : a 10 15.5 The modified values of tuple are : b 10 20.5 

위 코드에서 get()은 튜플의 첫 번째와 세 번째 값을 수정합니다.
3. tuple_size :- 튜플에 존재하는 요소의 수를 반환합니다.

CPP




//C++ code to demonstrate tuple_size> #include> #include // for tuple_size and tuple> using> namespace> std;> int> main()> {> > // Initializing tuple> > tuple <> char> ,> int> ,> float> >괴짜(20,> 'g'> ,17.5);> > // Use of size to find tuple_size of tuple> > cout < < 'The size of tuple is : ';> > cout < < tuple_size <> decltype> (geek)>::값 < < endl;> > return> 0;> }>

산출:

The size of tuple is : 3 

4. 교환() :- swap()은 서로 다른 두 튜플의 요소를 교환합니다.

CPP




//C++ code to demonstrate swap()> #include> #include // for swap() and tuple> using> namespace> std;> int> main()> {> > // Initializing 1st tuple> > tuple <> int> ,> char> ,> float> >tup1(20,> 'g'> ,17.5);> > > // Initializing 2nd tuple> > tuple <> int> ,> char> ,> float> >무딘2(10,> 'f'> ,15.5);> > > // Printing 1st and 2nd tuple before swapping> > cout < < 'The first tuple elements before swapping are : ';> > cout < < get(tup1) < < ' ' < < get(tup1) < < ' '> > < < get(tup1) < < endl;> > cout < < 'The second tuple elements before swapping are : ';> > cout < < get(tup2) < < ' ' < < get(tup2) < < ' '> > < < get(tup2) < < endl;> > > // Swapping tup1 values with tup2> > tup1.swap(tup2);> > > // Printing 1st and 2nd tuple after swapping> > cout < < 'The first tuple elements after swapping are : ';> > cout < < get(tup1) < < ' ' < < get(tup1) < < ' '> > < < get(tup1) < < endl;> > cout < < 'The second tuple elements after swapping are : ';> > cout < < get(tup2) < < ' ' < < get(tup2) < < ' '> > < < get(tup2) < < endl;> > return> 0;> }>

산출:

The first tuple elements before swapping are : 20 g 17.5 The second tuple elements before swapping are : 10 f 15.5 The first tuple elements after swapping are : 10 f 15.5 The second tuple elements after swapping are : 20 g 17.5 

5. 넥타이() :- Tie()의 작업은 튜플 값을 별도의 변수로 압축을 푸는 것입니다. Tie()에는 두 가지 변형이 있는데,ignore가 있는 것과 없는 것입니다.ignore는 특정 튜플 요소를 무시하고 압축이 풀리는 것을 중지합니다.

CPP




// C++ code to demonstrate working of tie()> #include> #include // for tie() and tuple> using> namespace> std;> int> main()> {> > // Initializing variables for unpacking> > int> i_val;> > char> ch_val;> > float> f_val;> > > // Initializing tuple> > tuple <> int> ,> char> ,> float> >tup1(20,> 'g'> ,17.5);> > // Use of tie() without ignore> > tie(i_val,ch_val,f_val) = tup1;> > > // Displaying unpacked tuple elements> > // without ignore> > cout < < 'The unpacked tuple values (without ignore) are : ';> > cout < < i_val < < ' ' < < ch_val < < ' ' < < f_val;> > cout < < endl;> > > // Use of tie() with ignore> > // ignores char value> > tie(i_val,ignore,f_val) = tup1;> > > // Displaying unpacked tuple elements> > // with ignore> > cout < < 'The unpacked tuple values (with ignore) are : ';> > cout < < i_val < < ' ' < < f_val;> > cout < < endl;> > return> 0;> }>

산출:

The unpacked tuple values (without ignore) are : 20 g 17.5 The unpacked tuple values (with ignore) are : 20 17.5 

6. 튜플_캣() :- 이 함수는 두 개의 튜플을 연결하고 새 튜플을 반환합니다.

CPP




// C++ code to demonstrate working of tuple_cat()> #include> #include // for tuple_cat() and tuple> using> namespace> std;> int> main()> {> > // Initializing 1st tuple> > tuple <> int> ,> char> ,> float> >tup1(20,> 'g'> ,17.5);> > // Initializing 2nd tuple> > tuple <> int> ,> char> ,> float> >무딘2(30,> 'f'> ,10.5);> > > // Concatenating 2 tuples to return a new tuple> > auto> tup3 = tuple_cat(tup1,tup2);> > > // Displaying new tuple elements> > cout < < 'The> new> tuple elements in order are : ';> > cout < < get(tup3) < < ' ' < < get(tup3) < < ' ';> > cout < < get(tup3) < < ' ' < < get(tup3) < < ' ';> > cout < < get(tup3) < < ' ' < < get(tup3) < < endl;> > return> 0;> }>

산출:

The new tuple elements in order are : 20 g 17.5 30 f 10.5 



마음에 드실지도 몰라요