gpt4 book ai didi

c++ - decltype 类型表达式

转载 作者:太空狗 更新时间:2023-10-29 23:46:09 25 4
gpt4 key购买 nike

有什么办法可以避免下面例子中的伪函数吗?

template<class T1, class T2>
struct A {

static T1 T1_ ();
static T2 T2_ ();

typedef decltype (T1_ () + T2_ ()) sum_type;
};

我想写

typedef decltype (T1+T2) sum_type;

但这不可能,因为 T1T2 是类型,而不是变量。我的上述解决方案真的是最简单的解决方案吗?

最佳答案

神圣标准提供 std::declval 正是为了这个目的:

typedef decltype (declval<T1>()+declval<T2>()) sum_type;

包括 <utility>标题。

关于c++ - decltype 类型表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13428263/

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