0

各個人が一連の固有の特性を持つアイテム(人)のグループをモデル化したいと思います...オブジェクトを意地悪に渡すと、コピーコンストラクターなどにより、オブジェクトが発散し、オブジェクトAが最終的には、複数の異なるバージョンが浮かんでいます。A`はメソッドXから返され、A``はメソッドYから返されます。どのデザインパターンが、オブジェクトをさまざまな機能に渡す場合に、特定の各オブジェクトの一意の表現に常に基づいて動作するようにするのに役立ちます。ありがとう。

4

3 に答える 3

2

スマートポインタを使用するか、参照を渡すだけです。あなたが必要としているより高度なデザインパターンが何であるかはよくわかりません。

于 2013-01-17T16:28:19.390 に答える
2

他の人が言っているように、ポインター、スマートポインター、または参照渡し。

忘れる心配がある場合は、コピーコンストラクターをプライベートにすることができます。そうすれば、値を渡すことはコンパイラエラーになります。

于 2013-01-17T16:29:25.197 に答える
2

オブジェクトのコピーを作成しないでください。それらをすべて中央の場所に保存し(std::vectorやstd::unordered_mapなどのコンテナーを使用)、さまざまな関数への参照を渡します。例えば:

void MutatePerson( Person& object );
void InspectPerson( const Person& object );
于 2013-01-17T16:30:46.293 に答える