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由于没有默认构造函数,这怎么可能?