2012-04-19 14 views
0

C++逆参照割り当ては、ビット単位または「スマート」な割り当てを行いますか?

*this = *that 

は「この」に「は」はビットごとの割り当てを行う、またはthisのクラスの代入演算子を呼び出します場合、私は思ったんだけど。

ありがとうございます!

+1

ポインタを使用するときにコンパイラが通常の動作をオーバーライドする本当の理由はありません。 – Mehrdad

答えて

3

this->operator=(*that);のような代入演算子を呼び出します。

+0

したがって、各オブジェクトのセルが入力されたコンテナクラスを作成しています。私は代入演算子を書いています - それは安全です* thisObject = * thatObject?それが動的に割り当てられたオブジェクトのコンテナである場合、thisobjectクラスの適切なコンストラクタが呼び出されますか? 'thisObject'がポインタでない場合はどうなりますか? – Raekye

+0

コンテナの代入演算子が、元のオブジェクトを代入するのではなくコピーするのは、一般には誰に代入するのかわからないためです。基本的には、 'vector'を書き直すなら、' vector'のようにします。 –

+0

私はあなたが何を意味しているのかよくわかりません - 現在、私は 'this' Stack(私はスタックを書いています)のすべてのCellを削除し、その変数をリセットし、 'その' Stackをループして「この」スタック。私は、型がポインタであるかどうかをどうやって調べることができるのだろうかと思っています。もしそうなら、上の逆参照の割り当てを使ってディープコピーを作り、それをスタックにプッシュします。そうでない場合は、間違いを引き起こさないように逆参照を使用しない方法を見つける必要があります – Raekye

関連する問題