我们可以使用typeof运算符获取gcc中函数返回的类型,如下所示:
typeof(container.begin()) i;
Run Code Online (Sandbox Code Playgroud)
是否有可能做一些类似的功能采取一些参数,但不给它们?例如,当我们有功能:
MyType foo(int, char, bool, int);
Run Code Online (Sandbox Code Playgroud)
我想检索这个"MyType"(可能使用typeof运算符),假设我只知道函数的名称("foo"),并且不知道它所采用的参数.可能吗?
在C++中,返回值的类型不是方法签名的一部分.即使有办法获得方法的返回类型,您也必须处理获取多个方法的可能性,而不知道哪个方法具有您想要的返回类型.
typeof 是非标准扩展名,因此如果您希望代码可移植,请不要使用它.
它的语法是typeof(expression),所以你需要给它一个调用函数的表达式(因此它的类型MyType),如下所示:
typeof(foo(int(),char(),bool(),int()))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2048 次 |
| 最近记录: |