gpt4 book ai didi

c++ - 获取 C++ 中运算符的返回类型?

转载 作者:太空狗 更新时间:2023-10-29 19:44:07 24 4
gpt4 key购买 nike

考虑以下函数:

template<class T1, class T2, class T3 = /* SOMETHING */> 
T3 f(const T1& x, const T2& y);

我要T3等于 T1+T2 的返回类型.如何用 C++11 做到这一点?

注意:我不想要 std::common_type<T1, T2>::type 的结果, 我想要 T1+T2 的真实类型,考虑到 operator+可以是非成员函数,也可以是 T1 的成员函数.

最佳答案

通常的方法是 decltype 和 trailing-return-type:

template<class T1, class T2> 
auto f(const T1& x, const T2& y) -> decltype(x+y);

关于c++ - 获取 C++ 中运算符的返回类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14088308/

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