5

Alexandrescuとwikipipidiaを読んでいると、ポインティと参照カウンターがヒープに格納されているのがわかります。次に、カウンターをヒープに割り当てる必要があるため、参照カウントは非効率的であるという言及がありますか?なぜスタックに保存されないのですか?

4

4 に答える 4

9

スマートポインタの現在のインスタンスがスコープから外れるとすぐに失われるためです。

スマートポインタは、動的に割り当てられた自動ストレージオブジェクトをシミュレートするために使用されます。スマートポインタ自体は自動的に管理されます。したがって、1つが破壊されると、自動ストレージに保存されているものもすべて破壊されます。ただし、参照カウンターを失いたくはありません。したがって、動的ストレージに保存します。

于 2012-02-14T19:49:06.320 に答える
3

オブジェクトのコピーはrefcountのコピーにもなり、その目的が損なわれるため、スタックに格納することはできません。

于 2012-02-14T19:49:42.610 に答える