프로그래밍 자료정리
C++ Structured Binding 본문
C++17에서 추가된 문법으로 자료구조에 저장된 값들을 unpack해서 변수에 자동으로 할당하는 편의 문법이다.
int arr[3] = {1,2,3};
auto [a,b,c] = arr;
배열 뿐만 아니라 pair, tuple등의 자료구조에서도 사용할 수 있다.
std::map<int, int> mp;
for (auto &[k, v]: mp)
{
std::cout << k << ' ' << v << '\n';
}
for auto문에서도 사용할 수 있다.
struct point2d
{
int x, y;
};
int main()
{
point2d p;
p.x = 10, p.y = 2000;
auto &[a, b] = p;
a = 200, b = 0;
std::cout << p.x << ' ' << p.y << '\n';
}
직접 정의한 구조체에서도 사용할 수 있다.
Comments