函数引用出问题?

I am jack 2019-09-10 01:15:43
为什么标注处有无差距这么大?
...全文
48 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mapleas 2019-09-10
  • 打赏
  • 举报
回复
cout的入栈顺序是从右向左,依次压入col,row,select(&a[0], row, col)的值,所以不提前计算select(&a[0], row, col),col,row的值就是这样
轻箬笠 2019-09-10
  • 打赏
  • 举报
回复
#include <iostream>

using namespace std;

int  f1()
{
    cout<<"f1"<<endl;
    return 1;
}
int  f2()
{
    cout<<"f2"<<endl;
    return 2;
}
int  f3()
{
    cout<<"f3"<<endl;
    return 3;
}

int main()
{
    cout <<"first--"<<f1()<<"   second--"<<f2()<<"   third--"<<f3()<< endl;
    return 0;
}
可以看到运行结果为 f3 f2 f1 first--1 second--2 third--3 这明显证明cout在执行的时候为从右向左先执行,然后在输出的时候为按照原来的顺序在从左像右的输出。 引自https://www.cnblogs.com/freedom314/p/5864365.html 如果没有黄线这块,那么row和col是未初始化状态。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧