> 백엔드 개발 > C++ > C의 내장 유형에는 생성자가 있습니까?

C의 내장 유형에는 생성자가 있습니까?

Susan Sarandon
풀어 주다: 2024-12-08 06:57:10
원래의
236명이 탐색했습니다.

Do Built-In Types in C   Have Constructors?

내장 유형에 생성자가 있나요?

임시 int가 0으로 값 초기화되는 경우 int()가 호출하기 때문인가요? 기본 생성자? 내장 유형에는 생성자가 없기 때문에 이것은 일반적인 오해입니다.

값 초기화와 기본 생성자 비교

비교적 최근 개념인 값 초기화는 해당 유형에 적합한 값을 가진 임시 개체입니다. 내장 유형의 경우 정수의 경우 이 값은 0입니다.

TC PL의 설명

TC PL의 섹션 10.4.2에는 내장 유형에도 기본값이 있다고 명시되어 있습니다. 생성자. 그러나 이 진술은 C 98 및 C 03의 맥락에서 틀림없이 부정확합니다.

Bjarne Stroustrup의 설명

Bjarne Stroustrup은 개인적으로 연락했을 때 다음과 같은 사항을 고려한다고 밝혔습니다. 실제 생성자 호출이 없음에도 불구하고 개념적인 의미에서 생성자를 갖는 형식입니다. 이 개념화는 값 초기화와 같은 생성자와 유사한 동작을 기반으로 합니다.

결론

기술적으로 내장 유형에는 생성자가 없습니다. 그러나 이를 초기화하는 데 사용되는 구문(예: int{5}, int{})은 생성자의 구문과 동일합니다. 따라서 실용적인 목적을 위해 내장 유형을 값 초기화 중에 해당 값을 적절하게 초기화하는 기본 생성자가 있다고 생각하는 것이 합리적입니다.

위 내용은 C의 내장 유형에는 생성자가 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿