[Modern][C++11] List-initialization
pair 가지고 놀다가 정리한번 해야겠다는 생각 듦.
template<typename T1, typename T2> ostream& operator<<(ostream& os, pair<T1,T2>& p){ return os << "(" << p.first << ", " << p.second << ")" << "\n"; } pair<int, string> p = {1, "hi"}; pii p2 {1, 2}; cout << p << p2; // (1, hi) (1, 2)
pair뿐만 아니라 vector 등 여러 container 초기화에 쓰일 수 있는데, 성능 차이가 나는지 모르겠네.
list initialization은 다른 init 방식의 syntactic sugar가 아닐까?
쓸데 없는 링크들
https://openmynotepad.tistory.com/14
C++11) 초기화 리스트(initialize_list)
<기본 정리> 초기화 리스트(initialize_list)는 C++11에서 도입된 방식이다. 이전 C++98 에서는 Member Initializer list ( 콜론 초기화 ) 를 통해서 멤버 변수들 초기화가 가능했으며 C++ 11 부터는 Braced-In..
openmynotepad.tistory.com
https://en.cppreference.com/w/cpp/language/list_initialization
List-initialization (since C++11) - cppreference.com
Initializes an object from braced-init-list. [edit] Syntax [edit] Direct-list-initialization T object { arg1, arg2, ... }; (1) T { arg1, arg2, ... } (2) new T { arg1, arg2, ... } (3) Class { T member { arg1, arg2, ... }; }; (4) Class::Class() : member{arg
en.cppreference.com
'<언어> > [C++]' 카테고리의 다른 글
[C++] Static (0) | 2022.05.02 |
---|---|
[C++] Template (Typename, Class) (0) | 2022.01.24 |
[C++] enum vs enum class (0) | 2022.01.20 |
[Modern C++][C++17] Structured Binding (0) | 2021.08.15 |
[Modern C++][C++11] push_back vs emplace_back (0) | 2021.07.16 |