GetConnections
메서드에서 connections
의 정확한 복사본을 반환한다는 것을 확인하고 싶습니다. 기존 노드 외부에서 편집 할 것이며 메모리 위치에 대한 포인터를 반환하면 (예 : 노드의 벡터 편집) 내 프로그램이 작동하지 않을 가능성이 높습니다. 복제품/사본과 포인터가 아닌 자신을 반환하려면 어떻게해야합니까? 즉, 여기에 문제가되지 않습니다 그래서반환 값이 포인터가 아닌지 확인
std :: vector<NodeConnection*> Node :: GetConnections()
{
return this->connections;
}
class Node {
private:
std :: vector <NodeConnection*> connections;
public:
// getters
std :: vector <NodeConnection*> GetConnections();
};
벡터 자체의 NodeConnection*
은 편집 할 수 없습니다.
포인터를 반환하지 않고 복사본을 반환합니다. – 0x499602D2