コピー コンストラクターまたは代入演算子を定義する必要がある状況を知りたいです。私が調べたところ、値が値によって渡されるか、値によって返されるときはいつでも、コピーコンストラクターとオーバーロードされた代入演算子を定義する必要があることがわかりました。ただし、ポインターまたは参照がポインターまたは参照(&)による受け渡しに使用される場合、コピーコンストラクター/オーバーロードされた代入演算子が必要ですか?
class Sample
{
public :
// Assume a constructor that sets the node member
SampleNode * getNode()
{
return _node;
}
private:
SampleNode * node;
}
class SampleNode
{
public:
void getValue()
{
return _value;
}
private:
unsigned int value;
}
main()
{
Sample * ptr = new Sample(15);
SampleNode *node = getNode(); // Do we need a copy constructor here?
}