gpt4 book ai didi

c++ - 如何从概念中检索类型?

转载 作者:可可西里 更新时间:2023-11-01 18:38:19 25 4
gpt4 key购买 nike

假设我有一个概念:

template < typename Group  > concept bool GGroup =
requires() { typename Group::Inner; };

在短形式中使用概念时如何检索类型 Inner

void doSomething(const GGroup& group)
{
// an ugly alternative
using Inner = typename std::decay_t<decltype(group)>::Inner;

//// could be something like:
// using Inner = GGroup::Inner;
// or
// using Inner = underlyingtype(GGroup)::Inner;
}

最佳答案

Concepts TS 缩写形式的内在缺点是您不能只命名概念化参数的类型名称。你必须使用 decltype 来获取它。

因此您需要权衡:您可以避免在实际代码中以更多的 decltype 为代价避免显式的 template 声明,或者您可以避免使用 decltype 以显式模板声明为代价。

关于c++ - 如何从概念中检索类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40840255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com