> 백엔드 개발 > C++ > 본문

C에서 전역 및 클래스 정적 변수에 대해 소멸자는 언제 호출됩니까?

Mary-Kate Olsen
풀어 주다: 2024-11-07 14:12:03
원래의
233명이 탐색했습니다.

When are destructors invoked for global and class-static variables in C  ?

C에서 전역 및 클래스 정적 변수 소멸

C에서 소멸자는 일반적으로 동적으로 할당된 개체와 연결되지만 이 동작이 확장됩니까? 전역 및 클래스 정적으로 선언된 변수에 적용됩니까? 이 문제를 명확히 하기 위해 구체적인 내용을 살펴보겠습니다.

먼저 전역 변수와 클래스 정적 변수는 일반적으로 스택이 아닌 프로그램 메모리의 데이터 섹션에 할당된다는 점을 이해하는 것이 중요합니다. 살다. 이러한 구별은 질문을 제기합니다: 이러한 변수에 대한 소멸자는 언제 청구됩니까?

C 03 표준(섹션 § 3.6.3)에 따르면 초기화된 정적 저장 기간 객체(블록 범위 또는 네임스페이스 범위에서 선언된 객체)에 대한 소멸자는 )은 메인 함수를 종료하거나 종료를 호출할 때 호출됩니다. 이러한 개체는 가장 최근에 초기화된 것부터 시작하여 가장 빠른 것부터 끝나는 순차적으로 삭제됩니다. 이 동작은 정적으로 초기화된 개체와 동적으로 초기화된 개체 모두에 적용됩니다.

또한 섹션 § 9.4.2 7에서는 정적 데이터 멤버가 비로컬 개체와 동일한 방식으로 초기화되고 삭제되도록 지정합니다. 그러나 관찰 가능한 동작이 없는 소멸자는 호출되지 않을 수 있다는 점은 주목할 가치가 있습니다.

위 내용은 C에서 전역 및 클래스 정적 변수에 대해 소멸자는 언제 호출됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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