std::reference_wrapper
不是默认可构造的。所以我不能写任何:
std::vector<std::reference_wrapper<int>> vec(10);
std::array<std::reference_wrapper<int>, 3> arr;
但是,令我惊讶的是,您可以调用对象std::vector::reserve
向量的成员函数std::reference_wrapper
并有效地更改其容量。
std::vector<std::reference_wrapper<int>> vec;
vec.reserve(10);
std::reference_wrapper
由于没有默认构造函数,这怎么可能?