Scott Meyers Universal References in C++11を見たところ、よく理解できないことが 1 つあります。
auto
「ユニバーサル参照」としての a 、つまりauto&&
通常の a との違いについて少し混乱してauto
います。いつ違いますか?
Foo f;
Foo& lvr = f;
auto lvr_a = f; // Foo&
auto rvr_a = std::move(f); // Foo&& or is it Foo?
auto&& lvr_b = f; // Foo& && => Foo&
auto&& lvr_b = std::move(f); // Foo&& && => Foo&&