가능한 중복 : 기호 :
What does a colon following a C++ constructor name do?구조체 생성자 구문
나는 온라인 그러나 생성자에 대한 구문이 특히 나에게 약간의 혼란을 아래의 예를 발견했다. 누구든지 내게 간단한 설명을 주시겠습니까? 감사. 이 호출 할 때
struct TestStruct {
int id;
TestStruct() : id(42)
{
}
};
가능한 중복 : 기호 :
What does a colon following a C++ constructor name do?구조체 생성자 구문
나는 온라인 그러나 생성자에 대한 구문이 특히 나에게 약간의 혼란을 아래의 예를 발견했다. 누구든지 내게 간단한 설명을 주시겠습니까? 감사. 이 호출 할 때
struct TestStruct {
int id;
TestStruct() : id(42)
{
}
};
생성자는 id
42
에 초기화합니다. 초기화 목록이라고합니다. 생성자의 유일한 목적은 멤버 변수
struct TestStruct {
int id;
double number;
TestStruct(int anInt, double aDouble) : id(anInt), number(aDouble) { }
};
를 초기화 할 때
당신의 예에서
, 그것은 당신이뿐만 아니라 여러 회원들과 함께 그것을 할 수
struct TestStruct {
int id;
TestStruct()
{
id = 42;
}
};
에 해당
struct TestStruct {
int id;
double number;
TestStruct() : id(42), number(4.1)
{
}
};
그것은 유용
"똑같은 것"은 약간 무심하고 아마 상당히 공평합니다. 오해하기 쉽다. –
동의 및 수정 :) – Vache
멋지지만 고맙지 만 "유용 할뿐만 아니라"기본 하위 객체, 상수 또는 참조와 같이 거의 초기화되지 않아야하는 변수의 필수 사항입니다. –
이것은 생성자 초기화 목록입니다. 당신은 여기에 대해 자세히 알아볼 수 있습니다 : [?를 C++ 생성자 이름 뒤에 콜론이해야하는 일]
http://www.learncpp.com/cpp-tutorial/101-constructor-initialization-lists/
의 중복 가능성 (http://stackoverflow.com/questions/1272680/what-does-a -colon-following-ac-constructor-name-do). 또한 중복 목록을 참고하십시오. [여기] (http://stackoverflow.com/questions/3504215/what-does-the-colon-mean-in-a-constructor) –