【发布时间】:2021-01-18 10:38:51
【问题描述】:
我记得在某处读到自 C++20 起不再允许使用该地址
命名空间std 中的函数,因此可以添加此类函数的新重载,而无需
破坏用户代码。这也适用于函数对象吗?
特别是,定制点对象可以作为算法的参数传递吗?例如:
#include <vector>
#include <map>
#include <ranges>
#include <range/v3/numeric/accumulate.hpp>
int main()
{
std::map<int, std::vector<int>> m;
return ranges::accumulate(m | std::views::values, 0u, std::plus{}, std::ranges::size);
}
【问题讨论】: