同様に、既定のコピー コンストラクターは、すべてのメンバーでコピー コンストラクターを呼び出しますか? たとえば、クラスに次のような非 POD メンバーがある場合:
class A
{
std::string str;
};
...デフォルトのコンパイラ生成のコピー コンストラクタと代入演算子は正しく機能しますか? 文字列のコピー コンストラクターを呼び出すかoperator=
、メンバー変数のビットごとのコピーを作成するstr
か。
つまり、std::string
メンバーを持つということは、このクラスにユーザー実装のコピー コンストラクターと代入演算子が必要ということでしょうか?