이것은 cpp 과정의 숙제를위한 것으로 모범 사례를 찾고 있습니다.cpp LinkedList 및 노드. 데이터가 포인터 또는 참조 여야합니까?
나는 linkedlist 클래스에 저장하고 싶은 다소 복잡한 클래스가 있습니다. 노드 클래스를 포함하여 내 자신을 구현해야합니다. 내가 작업하고있는이 상대적으로 복잡한 유형 하나만 저장해야합니다.
노드의 데이터 유형을 복합 유형에 대한 참조로 만들어야합니까, 아니면 대신 포인터로 사용해야합니까?
옵션 1 :
class Node
{
public:
Node* prev;
Node* next;
ComplexType *data;
}
옵션 2 :
class Node
{
public:
Node* prev;
Node* next;
ComplexType &data;
}
레퍼런스 솔루션을 작업 할 때 나는 또한 복사 값의 서로 다른 경우를 처리해야합니다 가정. 어느 것이 더 정확한 것으로 간주됩니까? 그리고 왜?
'ComplexType' 객체를 저장하지 않는 이유는 무엇입니까? – juanchopanza