개체 소유자 배가 변경되는지 여부에 관계없이 메서드의 서명을 코딩하는 방법이 있습니까? 포인터를 가져 오거나 반환하는 Getter() 및 Setter()에서 개체 소유권이 변경되는지 여부는 알 수 없습니다.메서드에서 개체 소유권 명명 규칙
그래서// Uses pConfiguration or creates its own copy - the ownership is un-touched
void ContainerClass:SetConfiguration(const Configuration* pConfiguration) {}
// Takes the ownership of pConfiguration (and deletes it in the destructor)
void ContainerClass:PutConfiguration(Configuration* pConfiguration) {}
// Returns a 'reference' and keeps the ownership (you must not delete it)
const Configuration* ContainerClass::GetConfiguration() {}
// Returns a _new_ object and transfers the ownership to you
Configuration* ContainerClass::TakeConfiguration() {}
는 (설정) 대 (넣어)와()를 코딩하는 방법을 가지고 대) (취득한다, 또는 당신은 (을 const 유형을 사용 :에 대한
여러분의 생각은 대 비 const) - 또는 컨텍스트에서 알 수 있습니까?
최고 감사합니다,
CHARLY는
스마트 포인터를 확인 했습니까? 이러한 유형의 문제를 피할 수 있습니다. – Naveen
흠 ... 삭제 문제를 해결하지만 ... 여전히 개체 소유권에 대해서는 아무 말도하지 않습니다.나는 내 모든 문제를 해결한다면 그것에 대해 생각해야만한다. – Charly