구조체나 배열 등이 가지는 멤버들을 풀어서 바인딩(변수에 할당)할 수 있게 해주는 편의 문법

멤버들이 가지고 있던 데이터형을 그대로 따라서 가져온다

using tup = tuple<ll, int, int>;
priority_queue<tup, vector<tup>, greater<>> pq;
...
auto [dist, k, now] = pq.top(); // dist ll, k랑 now는 int

 

map 쓸때도 유용

std::map<int, int> m;
m[1] = 2;
m[2] = 4;
m[3] = 6;
// Before C++17
for (const auto& kv : m) {
cout << "m[" << kv.first << "] = " << kv.second << endl;
}
// After C++17
for (const auto& [key, value] : m) {
cout << "m[" << key << "] = " << value << endl;
}
// 참고 : https://neurowhai.tistory.com/245

 

 

참고

http://egloos.zum.com/sweeper/v/3203903

[C++17] Structured Bindings.mhtml
0.47MB

 

https://neurowhai.tistory.com/245

[C++] Structured binding 설명.mhtml
1.96MB

'<언어> > [C++]' 카테고리의 다른 글

[C++] Template (Typename, Class)  (0) 2022.01.24
[C++] enum vs enum class  (0) 2022.01.20
[Modern C++][C++11] push_back vs emplace_back  (0) 2021.07.16
[Modern C++][C++11] nullptr  (0) 2021.05.11
[C++] Class 공부 & instantiation (+ Struct)  (0) 2021.03.24

+ Recent posts