2017-05-10 7 views

답변

3

나는 어떻게 생성 된 객체를 사용할 것인지 잘 모르겠습니다. 은`OtherClass * p` 멤버없이 그것을 할 다른 방법이 있나요

class MyClass { 
int buf[10]; 
OtherClass* p; 
public: 
    MyClass(int i) : p(new (&buf) OtherClass(i)) { 
    } 
}; 
+0

: 나는 MyClass이 객체에 데이터 멤버 포인터를 가지고 가정, 다음과 같은 포인터를 초기화합니다. 만약'buf'가'OtherClass' 멤버와 결합되어 있다면 말입니다. 'p'는 & buf와 같은 값을 가지므로 불필요한 권리가됩니까? –

+0

@ J.Doe AFAIK 불가능합니다. 멤버 초기화 목록은 멤버 초기화에 사용됩니다. – songyuanyao