초기화 목록과 생성자 할당: 내부 차이점
클래스 멤버를 초기화할 때 멤버 초기화 목록을 사용하거나 값을 할당하도록 선택할 수 있습니다. 생성자 본문 내에서. 내부적으로 이러한 접근 방식에는 미묘한 차이가 있습니다.
멤버 이니셜라이저 목록
이 예에서 볼 수 있듯이 멤버 이니셜라이저 목록을 사용합니다.
MyClass::MyClass(): _capacity(15), _data(NULL), _len(0) { }
생성자 본문에 들어가기 전에 멤버 변수를 직접 초기화합니다. 이는 특히 다음과 같은 경우에 유용합니다.
생성자 할당
한편, 다음 예와 같이 생성자 본문 내에 값을 할당합니다.
MyClass::MyClass() { _capacity=15; _data=NULL; _len=0 }
생성자 실행 중에 초기화를 수행합니다. 이 접근 방식은 일반적으로 상수가 아닌 멤버와 생성자의 매개 변수를 기반으로 초기화할 수 있는 멤버에 사용됩니다.
생성된 코드 비교
일반적으로 두 접근 방식 모두 유사한 생성을 생성합니다. 암호. 그러나 상수 멤버 또는 참조의 경우 생성자 할당으로 인해 컴파일 오류가 발생하므로 멤버 초기화 목록만 초기화할 수 있습니다.
위 내용은 멤버 초기화 목록과 생성자 할당: 언제 어느 것을 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!