동적 메모리가 연결된 객체 (함수 내에서 로컬로 선언 된 객체)를 반환하는 방법을 찾지 못했습니다. 문제는 객체가 범위를 벗어날 때 동적 인 메모리를 실행하고 삭제하는 소멸자입니다. 즉, 객체를 반환하고 삭제 된 메모리의 데이터를 사용하려고 할 때입니다. 오버로드 된 연산자에 대해이 작업을 수행합니다.동적 메모리가있는 객체 반환
내가 좋아하는 뭔가를 할 노력하고있어 :
MyObj operator+(const MyObj& x, const MyObj& y)
{
MyObj z;
// code to add x and y and store in dynamic memory of z
return z;
}
내 소멸자 단순히 :
MyObj::~MyObj()
{ delete [] ptr; }
어떤 제안이 많이 주시면 감사하겠습니다!
에 읽을 할 수 있습니다 : ['C++ : Three'의 규칙 (HTTP : // EN .wikipedia.org/wiki/Rule_of_three_ (C++ _ 프로그래밍)), [이 질문과 답변] (http://stackoverflow.com/questions/4172722/what-is-the-rule-of-three)을 참조하십시오. – WhozCraig