생성자의 초기화 기술에 대한 심층 분석
다음 코드를 고려하세요.
MyClass::MyClass() : _capacity(15), _data(NULL), _len(0) {}
대:
MyClass::MyClass() { _capacity = 15; _data = NULL; _len = 0; }
중요한 것은 초기화 목록 사용과 생성자에 값 할당 사이의 선택은 멤버 초기화의 특정 요구 사항에 따라 달라집니다.
멤버 초기화 목록
초기화 목록이 사용됩니다. 생성 시 현재 개체의 모든 멤버를 초기화합니다. 일반적으로 다음과 같은 여러 시나리오에 권장됩니다.
제공된 예제에서 _capacity, _data 및 _len이 상수 멤버나 참조가 아닌 경우 두 접근 방식 모두 유효하며 결과적으로 동등한 내부 생성 코드가 생성됩니다. 그러나 이러한 멤버 중 상수 또는 참조인 경우 초기화 목록이 필요합니다.
정규 할당과 초기화 목록 비교
생성자 내에서 일반 할당이 수행되는 동안 일반적으로 상수가 아닌 멤버 변수에 허용되는 것으로 간주되지만 몇 가지 단점이 있습니다.
결론
상수 멤버, 참조, 초기화에는 초기화 목록 사용을 권장합니다. 매개변수를 기본 클래스 생성자에 전달합니다. 일반 멤버 변수의 경우 일반 할당문이 더 적합할 수 있지만 초기화 목록은 여전히 더 간결하고 정확한 접근 방식을 제공합니다.
위 내용은 초기화 목록과 생성자의 할당: 언제 어느 것을 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!