책에
C++11은 사용자로 하여금 분명한 내용에 대하여 용이하게 작업할 수 있도록 해준다
class Classy
{
int mem1 = 10; //in-class 초기화
const int mem2 = 20; //in-class 초기화
};
이것은 생성자 내의 멤버 초기화 리스트를 사용하는 것과 동일하다.
Classy::Classy() : mem1(10), mem2(20) { ... }
만약, 멤버 초기화리스트를 사용하는 생성자가 호출되지 않았더라면, mem1과 mem2는 각각 10과 20으로 초기화 된다. 이후 실질적인 리스트가
이런 기본 초기화 값들을 수정한다.
라고 되어있는데요
위에 클래스 정의에서
클래스내에서 저렇게 초기화 하는 것 안되지 않나요?
당장 vs2010으로 작성해봐도 안된다고 오류띄우는데...어떻게 된건가요?
c++11 부터되는 초기화임 ㅇ - dc App
책에 대놓고적혀있구먼 - dc App
음..제가 vs2010 쓰는데 2010은 c++11 지원안하나요?ㅜ
10도 뭐 패치되서 되는거로아는데 2012vs무료로 알거든 ? 그거쓰던가하셈 - dc App
넹 형님 근데 추가적으러 여쭈어볼게 있는데 그럼 저 기능이 된다면 저런 간단한 멤버변수만 있을때는 생성자가 그닥 필요없다 아닙니까..?
생성자 없어도 c++에서는 내부적으로 자동으로만듬 - dc App
ㄴ 아녀 디폴트 생성자 말구 걍 값을 따로 지정할때여
그리고 저런 문법은 사용자 편리하라고 만들어놓은거지 따로 뭐 활용하라고 맹글어놓은거아님 - dc App
감사합니다..