Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 맨체스터일상
- 영어이메일
- 영국 배우자비자
- 영국워홀
- 해외취업
- 영국 워킹홀리데이
- 맨체스터생활
- 맨체스터근교
- 영국 개발자
- 맨체스터
- 영국워킹홀리데이
- 영국 배우자비자 연장
- 맨체스터 트램
- 영국생활
- 맨체스터개발자
- 영국취업
- php
- 영국 워홀
- 영국세금
- 맨체스터 일상
- 영국일상
- 영국이직
- 영국개발자
- 맨체스터 개발자
- Python
- 파이썬
- laravel
- 해외개발자
- 영국구직
- 영국코로나
Archives
- Today
- Total
맨체스터 사는 개발자
[맨체스터개발자/Modern C++] Structed Binding 본문
https://en.cppreference.com/w/cpp/language/structured_binding
Structed Binding 은 C++ 17에서 추가된 기능으로 쉽게 설명하자면 tuple이나 map 같은 자료구조를 auto와 대괄호를 사용해서 쉽게 접근 밑 가독성을 높일 수 있다.
아래 예를 보면 p 를 structed binding을 해서 x_coord, y_coord로 사용하고 있다.
Point p = { 1,2 };
// Structure binding
auto[ x_coord, y_coord ] = p;
cout << "X Coordinate : " << x_coord << endl;
cout << "Y Coordinate : " << y_coord << endl;
지금 다니는 회사에서는 보통 map 구조를 iterate 할 때 사용한다.
이전 버전이라면, it.first, it.second 이런 형식으로 사용 했기 때문에 가독성이 떨어지지만, structed binding을 이용하면 가독성도 높이고 소스코드 길이도 짧아진다
std::map<std::wstring, std::wstring> FileList;
//이전 버전
for(std::map<std::wstring, std::wstring>::iterator it = FileList.begin(); it != FileList.end(); it++)
{
openfile(it.first + it.second);
}
//C++17
for(auto& [path, filename] : FileList)
{
openfile(path+filename);
}
'개발 > C++' 카테고리의 다른 글
[C++] wstring 구분자로 split (0) | 2021.08.17 |
---|---|
[C++] vector 의 메모리 사용 (0) | 2021.07.01 |
객체지향 관련 영어 인터뷰 질문 및 답변 (0) | 2021.06.11 |
[맨체스터개발자/Modern C++] noexcept 키워드 (0) | 2021.05.20 |
[Modern C++] Shared_ptr 과 make_shared (0) | 2021.05.20 |