c++11 - 将 MAP 容器复制到 X 的末尾

标签 c++11

假设m类型为map<int, string> ,我们遇到了一个调用

copy(m.begin(), m.end(), back_inserter(x)) .

关于 x 的类型我们能说些什么?

如果copy(m.begin(), m.end(), back_inserter(x)),请给我一个例子将是合法的。谢谢

最佳答案

What can we say about the type of x?

我们可以这样说:

  • m.value_typepair<const int, string> ,因此 x.value_type可能也是如此(不是严格要求,但在 STL 中是常规的)。
  • x.push_back(value_type)必须有效,对于 back_inserter(x)去工作。

x上的唯一要求是它支持以下内容:

x.push_back(pair<const int, string>());

这个函数实际上做什么并不重要,但它必须有这个名称并支持这个参数类型。

关于c++11 - 将 MAP 容器复制到 X 的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37041438/

相关文章:

c++ - 为什么编译器在尝试使用 C++11 样式初始化对象数组时隐式删除​​构造函数

c++ - 使用 g++ 和 clang++ 对 condition_variable 进行虚假唤醒

c++ - is_nothrow_xxxable 与 is_nothrow_move/copy_xxxable

c++ - 在基于范围的循环中使用通用引用有什么好处?

regex - 我可以在 char16_t 字符串上使用 STL 正则表达式库吗?

c++ - "Want Speed? Pass by value"有多真实

c++ - 这个重载决议是否正确?

c++ - 删除基类中的复制和移动构造函数/赋值运算符是否足够?

c++ - Gtk::Notebook 不显示

c++ - C++11 中有新的函数类型表达式格式吗?