>백엔드 개발 >C++ >C에서 임시 함수 인수는 언제 소멸됩니까?

C에서 임시 함수 인수는 언제 소멸됩니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-16 09:42:12472검색

When Are Temporary Function Arguments Destroyed in C  ?

임시 함수 인수: 소멸 타이밍

함수 인수로 임시 객체를 생성할 때 수명 관리는 프로그램 정확성을 위해 매우 중요합니다. C는 이러한 임시 항목의 수명을 지정합니다.

제공된 예에서:

class MyClass { MyClass(int a); };
myFunction(MyClass(42));

C는 임시 MyClass 개체의 소멸자가 전체 표현식 끝에서 호출되도록 보장합니다. 개체가 속한 부분입니다. 전체 표현식은 일반적으로 세미콜론으로 끝납니다. 또는 기타 명령문 종결자. 이 경우 전체 표현식은 myFunction() 함수 호출의 닫는 괄호에서 끝납니다.

따라서 함수 호출 후 다음 명령문이 실행되기 전에 임시 개체의 소멸자가 호출된다고 가정할 수 있습니다. .

임시 항목을 const 참조에 바인딩하면 전체 표현 이상으로 임시 항목의 수명을 연장할 수 있습니다. 이는 다음 예에서 설명된 것처럼 해당 수명을 참조의 수명으로 연장합니다.

MyClass getMyClass();

{
  const MyClass& r = getMyClass(); // full expression ends here
  ...
} // object returned by getMyClass() is destroyed here

위 내용은 C에서 임시 함수 인수는 언제 소멸됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.