해결된 질문
작성
·
191
0
template<typename T>
class Node
{
public:
Node() : _next(nullptr), _prev(nullptr), _data(T())
{
}
Node(const T& value) : _next(nullptr), _prev(nullptr), _data(value)
{
}
public:
Node* _next;
Node* _prev;
T _data;
};
STL 리스트를 강좌를 듣다가 궁금한 점이 있어서 연속 질문 드립니다.
생성자에서 왜 cosnt T& value로 매개변수로 사용하는지 .. 잘 이해가 안갑니다.
참조변수를 받으려면 멤버변수가 T* _data로 포인터형이어야 되는것 아닌가 생각이 드는데
제가 뭘 잘못 알고 있는것인지 궁금합니다.
답변 1
0
참조 변수를 받아서 _data(value)를 하면 복사가 일어납니다.
포인터로 받고 싶으면 T 타입을 포인터로 넣어주면 되겠죠. (ex. Node<Player*>)