我可以对仅移动类型的向量进行列表初始化吗?
如果我通过GCC 4.7快照传递以下代码,它将尝试将unique_ptrs 复制到向量中。 #include <vector> #include <memory> int main() { using move_only = std::unique_ptr<int>; std::vector<move_only> v { move_only(), move_only(), move_only() }; } 显然,这std::unique_ptr是不可操作的,因为不可复制: 错误:使用删除的函数'std :: unique_ptr <_Tp,_Dp> :: unique_ptr(const std :: unique_ptr <_Tp,_Dp>&)[with _Tp = int; _Dp = std :: default_delete; std :: unique_ptr <_Tp,_Dp> = std :: unique_ptr]' GCC在尝试从初始化列表中复制指针时是否正确?