C++ <algorithm> : copy map<A, B> 计算?

标签 c++ dictionary

有没有办法做复杂的copy来自map<A,B>计算,使用 C++ 的复制函数?

看起来很复杂,因为 map 不止一项,而且迭代器本身并不指向读取数据。

我的意思是类似于我们对 vector 所做的事情:

copy (vector.begin(), vector.end(), ostream<int>(cout," "));

最佳答案

map 的 value_type 是 std::pair<key_type, assoc_type> .要进行复制,您需要提供 operator<<那需要那种类型。例如,对于 map<string, int> ,它将是:

std::ostream *operator<<(std::ostream &os, std::pair<std::string, int> const &v) {
    return std::cout << v.first << ":\t" << v.second;
}

你通常必须把它放在 namespace std 里面编译器可以找到它。

关于C++ <algorithm> : copy map<A, B> 计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11855770/

相关文章:

c# - 查看Dictionary Item是否是字典中的最后一个

c++ - 如何在 Eigen 中定义行优先稀疏 vector

c++ - 重新解释_cast<double**> SEG 错误

javascript - LeafletJS,无法将弹出窗口绑定(bind)到第二个标记

java - 5-10M 条目的最佳 hashmap 容量/负载因子是多少?

javascript - D3 畅国飘

java - Android 中的 NSDiacriticInsensitiveSearch 等价物

c++ - 如何检查 C++ 中是否存在对象

c++ - 为什么不使用 "new"运算符创建的对象得到相同的地址

c++ - 以 Eigen 类型作为参数的通用函数回调