[Modern C++][C++17] Structured Binding
2021. 8. 15. 12:45
구조체나 배열 등이 가지는 멤버들을 풀어서 바인딩(변수에 할당)할 수 있게 해주는 편의 문법
멤버들이 가지고 있던 데이터형을 그대로 따라서 가져온다
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
https://neurowhai.tistory.com/245
'<언어> > [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 |