2
다음 코드는 복사 생성자를 호출하지 않습니다.이 복사 생성자는 elision입니까?
struct X
{
int x;
X(int num)
{
x = num;
std::cout << "ctor" << std::endl;
}
X(const X& other)
{
std::cout << "copy ctor" << std::endl;
}
};
int main(int argc, _TCHAR* argv[])
{
X* x = new X(3);
X* y(x);
}
출력 :
ctor
는 복사의 ctor되어 생략?
심지어 생략 할 수있는 단일 복사본을 볼 수 없습니다. 당신의 모범이 맞습니까? –
@CharlesBailey 우물'X (const X & other)'**는 ** 올바른 상황에서 생략 될 수 있습니다 (이것은 그렇지 않습니다). –
Java 책으로 C++을 배우지 마십시오. 아무도 아무 것도하지 않습니다. –