0

コピー コンストラクターまたは代入演算子を定義する必要がある状況を知りたいです。私が調べたところ、値が値によって渡されるか、値によって返されるときはいつでも、コピーコンストラクターとオーバーロードされた代入演算子を定義する必要があることがわかりました。ただし、ポインターまたは参照がポインターまたは参照(&)による受け渡しに使用される場合、コピーコンストラクター/オーバーロードされた代入演算子が必要ですか?

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?
}
4

1 に答える 1