C++11 이 도입되면서 정말 편하게 느껴졌던 기능중 하나는 바로 이거다.
class A { public: int a = 7; };
멤버변수를 선언과 동시에 초기화가 가능해졌다는 것이다.
C++98 에서 정적상수 변수만 가능했던 문법이 이렇게 바뀌게 되었다.
이는 런타임 생성자 호출때 이 초기화 수식을 이용할 수 있게 된다
그렇다면 선언과 동시에 초기화를 하면서
생성자에서도 초기화를 한다면?
class A {
public:
A(): a(77) { }
};
생성자의 초기화가 우선 적용된다.
참고사이트 : http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2628.html