[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