ローポインタの代わりにstd::reference_wrapper
をテンプレートパラメータとして使用した場合のメリットは何ですか?それは私が実際の参照が私を作るラップするヌル忘れやポインタの構文を使用する必要がありませんが、種類の冗長性(すなわちvector<reference_wrapper<MyClass> >
)を加えた呼び出しサイトの利用はstdを持つ:: refの好きstd::vector<std::reference_wrapper<MyClass> >
対std::vector<MyClass*>
容器内の未加工のポインタの代わりにreference_wrapperを使用する利点はありますか?
ですそれが価値がないと思う。
私はstd :: shared_ptrまたは他のスマートポインタを使用することがオプションではない場合を参照しています。
reference_wrapperやその他の要因を考慮していないのですか? (私の質問は、C++ 11のreference_wrapperとboostの両方に当てはまると思う)
IMOでは、無限の参照が大きな利点であり、冗長性を上回ることがよくあります。しかし、これは単に熟練した人の意見です。 – kkm
@kkmこの引数はまだ[not_null](https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#i12-declare-a-pointer-that-must-not-be-null)で保持されます。 -as-not_null)ポインタ? – Woofas
@Woofas:多分そうではありません。私は最新の言語の提案にあまり精通していません。これは、whoppin '3日間されている! :) – kkm