[C++ Coding Test Skill] std::tie 사용 방법

2024. 5. 16. 23:09코딩테스트 Intro/C++

728x90

참고 링크 : https://ence2.github.io/2020/11/stdtie-%EC%82%AC%EC%9A%A9%EB%B2%95/

 

std::tie 사용법

std::tie pair, tuple으로 묶인 녀석들을 던저서 여러 변수에 한번에 받아 올 수 있습니다.

ence2.github.io

 

std::tie 사용 용도 : pair, tuple로 묶인 녀석들을 던져서 여러 변수에 한 번에 받아올 수 있습니다.

 

[코드]

#include <iostream>
#include <tuple>

int main()
{
	auto t = make_tuple(1,2,3); /*pair면 make_pair도 쓸 수 있어요*/
    
    int x = get<0>(t);
    int y = get<1>(t);
    int z = get<2>(t);
    
    cout << x << ' ' << y << ' ' << z << '\n';    //1 2 3

    x = y = z = 0;
    cout << x << ' ' << y << ' ' << z << '\n';    //0 0 0
	
    std::tie(x, y, z) = t;
    /*using namespace 사용 시 tie(x, y, z) = t; 
    tie(x, y, z) = t;는 tuple형 변수 t( auto로 자동 형 추론 해 놓음 )에다
    x, y, z를 묶은 것을 대입*/
    cout << x << ' ' << y << ' ' << z << '\n';    //1 2 3
    
    x=y=z=0;
    std::tie(x, y, ignore) = t; // 세 번째 자리는 무시 키워드 : ignore
    cout<<x<<' '<<y<<' '<<z<<"\n"; // 1 2 0
    
    return 0;
 }
728x90