초기화 리스트를 사용하지않은 c++ class 멤버 변수 초기화?
글쓴이: vani2 / 작성시간: 수, 2013/10/30 - 7:17오후
아무 생각없이 클래스로 놀고있다가 다음과 같이 클래스 선언에서 초기화를 했는데요
class Test {
public:
int a = 12; //생성자의 초기화 리스트를 사용하지않고 바로 대입초기화
Test();
};
위와 같이 작성했는데 선언에서 초기화 했음에도 불구하고 아무런 경고표시도 없길래 컴파일 해보았더니
정상적으로 컴파일이 되고 사용도 되네요..
보아하니 뭔가 새로운 기능 같은데
실험환경은 g++ -std=c++11옵션, vs2013버전 에서 해봤습니다.
vs2012에선 안됬던걸로 기억하는데 이 기능 이름이 무엇인가요?
그리고 이 기능을 사용하는 것이 바람직할까요?
Forums:
넵 c++11에 추가된 기능입니다.
http://jof4002.net/C++11FAQ.html#member-init
번역문서
http://www.stroustrup.com/C++11FAQ.html#member-init
원본문서
http://cpprocks.com/c11-compiler-support-shootout-visual-studio-gcc-clang-intel/
컴파일러 별로 지원되는 c++11기능들 목록입니다.
댓글 달기