c – 是否在内部函数中被调用?

c – 是否在内部函数中被调用?,第1张

概述是否在一个typeid中调用函数?考虑下面的代码 #include <iostream>#include <typeinfo>using namespace std;int mul10(int &s){ static int count = 1; cout << "Evaluating call " << count << endl; count++; s 是否在一个typeID中调用函数?考虑下面的代码
#include <iostream>#include <typeinfo>using namespace std;int mul10(int &s){    static int count = 1;    cout << "Evaluating call " << count << endl;    count++;    s *= 10;    return(s);}int main(){    int i = 5;    cout << typeID(mul10(i)).name() << endl;    cout << i << endl;    return(0);}

所以这里的输出是

int5

很明显,我的价值并没有改变,而且mul10的功能并没有被实际调用.这是如何评估typeID参数的?

解决方法 typeID的 *** 作数只有在多态类类型的glvalue时才被评估.由于mul10的返回类型(即int)不是多态类类型,所以 *** 作数不被评估,这意味着mul10不被调用. 总结

以上是内存溢出为你收集整理的c – 是否在内部函数中被调用?全部内容,希望文章能够帮你解决c – 是否在内部函数中被调用?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1255436.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存