#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 – 是否在内部函数中被调用?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)