deep-copy

    10

    1答えて

    ポインタの概念があるので、C++でコピーコンストラクタ(またはオーバーロードされた代入演算子)を実装するのは簡単です。しかし、私はPythonで浅く深いコピーを実装する方法についてはかなり混乱しています。 ライブラリの1つに特別なコマンドがあることは知っていますが、自分で作成したクラスでは機能しません。では、一般的な実装方法は何ですか? P.S.いくつかの基本的なデータ構造(リンクされたリストやツ

    6

    4答えて

    私はつまり、私は仕事にこのような何かを必要とする、多型クローニング(深いコピー)と私のクラスを装備する必要があります: original.clone()は深いコピーを作成するための任意のメカニズム、および実際の型によって置換することができる SuperType original = new SubType(); SuperType copy = original.clone(); copyの

    7

    1答えて

    一般に、Qtコンテナをディープコピーする正しい方法は何ですか?私はコンテナを再帰的に深くコピーすることを心配していませんが、そのような問題を解決することは役に立ちます。

    5

    3答えて

    Javaで深い多形コピーを作成するという問題が突然発生しました。 を実装するClonableは私の場合は問題を解決しますが、しばしば「悪い」手法と呼ばれます。 ので、ここでは「非クローン化可能」解決策を見つけるために私の試みです: public class Parent { int x; public Parent() {} public Parent(int x

    7

    1答えて

    オブジェクトによって使用されるメモリを計算したいと思います。 sys.getsizeofは素晴らしいですが、浅いです(たとえば、リスト上で呼び出された場合、リストの要素がとったメモリは含まれません)。 一般的な「深い」バージョンsys.getsizeofを書きたいと思います。私は、「深い」という定義にあいまいさがあることを理解しています。私はdefinition followed by copy.

    9

    3答えて

    私はPythonのリストがどのように機能するかを理解していたと思っ ... >>> a = [1,2,3] >>> b = a[:] >>> b [1,2,3] >>> b[1]=100 >>> b [1,100,3] >>> a [1,2,3] これまでのところ、とても良いです。私はaの内容でbを初期化しているので、bは別のオブジェクトを指しています。結果として、bの変化はa

    8

    2答えて

    私はこれをグーグルで試してみましたが、結果としてオブジェクト指向の言語のポップアップが表示されます。 私の理解から、浅いコピーは構造体の特定のメンバーをコピーしています。 ので構造体がcharをコピー typedef struct node { char **ok; int hi; int yep; struct node *next; }node_t

    5

    2答えて

    コンストラクタに渡される可変オブジェクトのオブジェクト参照に対して常に守備コピーを作成する必要がありますか? 「はい」の場合、コピーを作成するにはどうすればよいですか。次の例では、関連するすべてのクラスのコピーコンストラクタ内に深いコピーを作成する必要がありますか? 例: class Graph { AdjacencyList; public Graph(Graph graph

    5

    2答えて

    参照するときangular.copyがブラウザをクラッシュ: var a = {}; var b = {}; a.ref = b; b.ref = a; angular.copy(a); angular.copy火災を、ブラウザがロックアップします。私はこれがコピー関数が深いコピーをしていると仮定しているので、bの参照をコピーし始めると、bに入り、その参照をコピーして循環コピーを作成し

    13

    2答えて

    何かが誤解されているかどうか疑問に思う:コピーコンストラクタはstd::stringではないの内容をコピーしますか? string str1 = "Hello World"; string str2(str1); if(str1.c_str() == str2.c_str()) // Same pointers! printf ("You will get into the IPC