Skip to content

C++:UniformInitialization

About

C++에서 기존 STL이나 클래스를 만들기 위해서 Vector의 경우에는 push_back을 이용해서 추가를 해주었고, 클래스의 경우에는 생성자를 사용해 만들어 주었습니다. 하지만 이제 그럴 필요없이 {}로 초기화가 가능합니다.

그러한 행위를 Uniform Initialization 이라고 합니다.

STL에서 일일이 push_back했던 연산을:

std::vector<CMan> table1;
table1.push_back(CMan(10, "1"));
table1.push_back(CMan(20, "2"));
table1.push_back(CMan(30, "3"));

C++11에서는 아래와 같이 변경할 수 있다.

std::vector<CMan> table2 = { {10, "1"}, {20, "2"}, {30, "3"} };