VC++는 클래스 선언 인라인 함수 내에서 구현되는 함수를 만듭니다.C++에서는 생성자와 소멸자가 인라인 함수가 될 수 있습니까?
다음과 같이 클래스 Foo
을 선언하면 생성자 및 작성자 인라인 함수는 다음과 같습니다. 클래스 내부의 생성자의 몸을 정의
class Foo
{
int* p;
public:
Foo() { p = new char[0x00100000]; }
~Foo() { delete [] p; }
};
{
Foo f;
(f);
}
힌트 이상입니다. 인라인을 사용하면 둘 이상의 번역 단위에서 동일한 기능을 정의 할 수 있습니다. 이것은 호출 사이트 (링크 타임 최적화없이)에서 함수를 인라이닝하기위한 전제 조건이며, 키워드가 이름을 얻는 곳입니다. –
@FredNurk @ FredNurk 나는 완전히 당신에게 동의한다. 그러나 Stroustrup 자신 (디자인과 C++의 진화)은 컴파일러에게 '힌트'인 'inline'에 대한 참조 자다. –
위에서 언급했듯이,이 대답은 구식이다. [Here] (https://stackoverflow.com/a/44247740/509868)는 유사한 질문에 대한 최신 답변입니다. – anatolyg