2022
04-30
04-30
C++返回值类型后置实现(跟踪返回值类型)
在泛型编程中,可能需要通过参数的运算来得到返回值的类型。考虑下面这个场景:template<typenameR,typenameT,typenameU>Radd(Tt,Uu){returnt+u;}inta=1;floatb=2.0;autoc=add<decltype(a+b)>(a,b);我们并不关心a+b的类型是什么,因此,只需要通过decltype(a+b)直接得到返回值类型即可。但是像上面这样使用十分不方便,因为外部其实并不知道参数之间应该如何运算,只有add函数才知道返回值应当...
继续阅读 >