Language/C++
c++ literal class (c++11)
Triany
2015. 2. 13. 18:33
기존에 우리는 배열을 선언할때
int arr[5] = {1,2,3,4,5};
이렇게 선언이 가능했다.
그럼, class도 literal하게 선언이 가능할까?
해당사항은 c++98 컴파일러에서는 불가능 했는데,
c++11부터! literal class로 선언 가능해 졌다.
#include <iostream> class A
} |
$ c++ -std=c+*98 main.cpp
main.cpp: In function ‘int main()’:
main.cpp:13:9: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
A a = A{ 1, 'a'};
^
c++98 컴파일러로 컴파일 하니 c++11 컴파일러로 하라고 친절하게 설명해 주었다. ㅋ
extended initializer lists only available with -std=c++11 or -std=gnu++11
$ c++ -std=c++11 main.cpp
$ a.out
a: 1 b: a