C++において,copy constructorを用いてインスタンスのdeep copyを行うことがあると思いますが,そもそも既にあるインスタンスを用いて新たなインスタンスを作成するメリットは何でしょうか?
copy constructorの説明を行っているサイトの説明を見ると,シンプルなものばかりだからか,copyせずに新しくインスタンスを作成した方がわかりやすいのではないかと思ってしまいます.
例) 整数型の配列を格納するクラス
class IntArray { public: IntArray( int size, int value ); ~IntArray( ); IntArray( const IntArray& other ); // copy constructor private: int* data_; int size_; }; int main() { IntArray a(3, 0); IntArray b = a; // deep copy // IntArray b(3, 0); //この方がわかりやすく,余計な操作も必要ないのでは? }
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/14 13:36