프로그래밍/c++
c++11과 14의 brace-or-equal-initializer
제페
2016. 5. 3. 16:33
반응형
c++11 표준에 추가된 brace or equal initializer 코드로 보자면 이런 거다.
1 2 3 4 5 6 7 8 9 10 | // c++11에선 not aggregate type // c++14에선 aggregate type struct flag { const int bit = 0; const wchar_t* name = L""; const int sign = 0; }; | cs |
위의 코드는 c++11에서는 유효하지만 aggregate 타입이 아니게 된다는 애매한 부분이 생긴다. 그러나 c++14 표준부터 위 코드 역시 aggregate 타입이 되며 c++14부턴 아래 코드 컴파일에 성공한다.
1 2 3 4 | // c++14 표준에선 성공, c++11 표준에선 실패 flag f{ 1, "hello", 1 }; |
이에 대한 사항은 다음에서 확인할 수 있다. (http://en.cppreference.com/w/cpp/language/aggregate_initialization)
반응형