考虑以下代码:
//option no 1
struct foo{
foo(baz &b) : _b(b){}
std::reference_wrapper<baz> _b;
};
//option no 2
struct bar{
bar(std::reference_wrapper<baz> b) : _b(b){}
std::reference_wrapper<baz> _b;
};
我想知道初始化foo
和bar
. 如果是这样,每种解决方案的优缺点是什么,应该首选哪个?