C의 암시적 기본 생성자
인용 도서의 주장과 달리 C는 실제로 암시적 기본 생성자를 제공합니다. 명시적으로 정의하지 마세요. 이 생성자는 데이터 멤버를 0 값으로 초기화합니다.
기본 생성자 구현
클래스의 기본 생성자는 다음과 같이 암시적으로 구현됩니다.
멤버 초기화의 중요성
멤버 변수에 기본 생성자가 없으면 컴파일이 실패합니다. . 그러나 정수, 부동 소수점 및 포인터와 같은 내장 데이터 유형에는 초기화를 수행하지 않는 암시적 기본 생성자가 있습니다.
복사 및 이동 작업
그렇지 않은 경우 소멸자, 복사/이동 생성자 또는 복사/이동 할당 연산자를 명시적으로 정의하면 컴파일러가 이를 생성합니다. 기본 구현에는 다음이 포함됩니다.
소멸자:
생성자 복사:
과제 복사 연산자:
이동 생성자:
과제 이동 연산자:
참고: 이러한 기본 구현은 객체가 적절하게 초기화되고 삭제되도록 보장합니다. 메모리 안전성을 보장합니다. 그러나 항상 원하는 초기화를 수행하지 않을 수 있으므로 적절한 경우 생성자와 소멸자를 명시적으로 정의하는 것이 가장 좋습니다.
위 내용은 C는 암시적 기본 생성자를 제공합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!