小编Ye *_*ang的帖子

使用初始化列表作为值时,插入 std::list<std::vector<int>> 失败?

我有一个 C++ 片段,看起来像这样:

  std::list<std::vector<int>> lv;
  lv.push_back({});
  std::cout << lv.size() << std::endl; // "1"

  lv.insert(lv.end(), {});  // Oops!
  // lv.insert(lv.end(), std::vector<int>());  // OK
  std::cout << lv.size() << std::endl; // Still got "1", but why?
Run Code Online (Sandbox Code Playgroud)

如您所见,当{}用于创建 default 时std::vector<int>,插入根本没有发生。虽然我知道在使用 C++ 的初始化列表时有很多微妙之处,但我想知道这个例子中的问题是什么?

谢谢!

c++ stl c++11

8
推荐指数
1
解决办法
168
查看次数

标签 统计

c++ ×1

c++11 ×1

stl ×1