【发布时间】:2022-01-09 10:43:39
【问题描述】:
我想声明一个类似于以下的函数:
string concat(const range<string> auto& strings);
我通过以下方式实现了同样的目标:
template <template <typename> typename T> requires range<T<string>>
string concat(const T<string>& strings);
但这对于我来说太沉重和重复了,无法考虑使用。
有没有更清洁的方法?
我假设没有,因为类型概念要求第一个模板参数是常规类型名,这使得给它一个模板参数列表是不可能的。
如果确实不可能,是否有任何计划来弥补这个明显的缺陷?如果不是,是否有任何理由说明这可能难以指定/实施?
【问题讨论】:
标签: c++ templates c++20 c++-concepts typename