【发布时间】:2020-09-27 11:27:51
【问题描述】:
如果我有一个看起来像这样的模板,为了示例而执行简单的复制操作,但对于 std::map 和 std::unordered_map:
template<typename T1, typename T2>
inline std::map<T1, T2> map_copy(std::map<T1,T2> const& a) {
std::map<T1,T2> output;
output = a;
return output;
}
template<typename T1, typename T2>
inline std::unordered_map<T1, T2> map_copy(std::unordered_map<T1,T2> const& a) {
std::unordered_map<T1,T2> output;
output = a;
return output;
}
有没有办法(可能使用 C++ 概念)将这些定义简化为一个,将可能的类型限制为 std::map 和 std::unordered_map?
【问题讨论】:
标签: c++ c++20 c++-concepts