임시 함수 인수: 소멸 타이밍
함수 인수로 임시 객체를 생성할 때 수명 관리는 프로그램 정확성을 위해 매우 중요합니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!