Shared_ptr: 参照と値
C で共有ポインターを扱う場合、参照渡しか値渡しかの選択が生じることがあります。この決定には、速度、所有権、および潜在的な問題を考慮する必要があります。
パフォーマンス
最初は、(const 参照を介して) 参照渡しの方が高速であるように見えるかもしれません。値渡しよりも。ただし、この仮定は完全に正確ではありません。最新のコンパイラーは両方のシナリオに合わせて効果的に最適化するため、ほとんどの場合、違いは無視できます。
所有権
値による受け渡しは所有権の譲渡を意味しますが、参照による受け渡しでは所有権が保持されます。呼び出し関数。所有権を譲渡することが目的でない限り (たとえば、データ構造間またはスレッド間で)、参照渡しすることをお勧めします。
追加の考慮事項
結論
これらの要素に基づいて、shared_ptrs を参照によって渡すことをお勧めします。 (特に、偶発的な変更を防ぐために const 参照によって)。これにより、所有権が呼び出し元に残り、パフォーマンスが維持され、コード処理が簡素化されます。
以上が「shared_ptr」は参照または値で渡す必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。