V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  hackpro  ›  全部回复第 69 页 / 共 146 页
回复总数  2914
1 ... 65  66  67  68  69  70  71  72  73  74 ... 146  
2018-11-23 12:07:45 +08:00
回复了 hackpro 创建的主题 C++ C++ 模板重载问题请教
@arzterk #16
其实我想问的是如果编译器不进行优化的话 被调函数的参数 /返回值是怎么和原调函数进行数据交换的
PS: 非常感谢您推荐的书

@GeruzoniAnsasu #18
感谢大佬

@wutiantong #20
非常感谢您的回复
按照您说的如果编译器不进行优化的话 第二步返回值由 x+1 构建 这个返回值是存在被调函数的栈帧中吗
另外对于一般的函数调用如果不考虑编译器优化的话,参数 /返回地址 /返回值在栈帧中的布局大概是什么样的
我从参考链接中了解到的顺序为:参数 /返回地址 (请见参考链接第 13 页)
https://www.cs.bham.ac.uk/~hxt/2015/c-plus-plus/stack.pdf
2018-11-23 11:05:57 +08:00
回复了 hackpro 创建的主题 C++ C++ 模板重载问题请教
@ccpp132 #14 多谢告知

@ccpp132 @coordinate
另外有一点不是很理解的是,调用另外一个函数的时候压栈顺序是:
1、参数
2、返回值地址
3、局部变量

如果是这样的话,函数返回 stack unwinding 的时候参数是怎么销毁的呢?
2018-11-23 09:50:13 +08:00
回复了 hackpro 创建的主题 C++ C++ 模板重载问题请教
@coordinate #12 感谢回复
也就是说如果 C++函数存在返回值 在实现上这个返回值会按照类似 class this 指针的方式写进函数原型?
2018-11-23 00:34:57 +08:00
回复了 yeshiwei 创建的主题 macOS 要不要更新 Mojave, 之前看到我司好几个人更新挂了。
@deepix 13 还是 15 啊?
2018-11-23 00:26:59 +08:00
回复了 hackpro 创建的主题 C++ C++ 模板重载问题请教
@HHehr0ow 好详细的回复,您辛苦了!
不过对于函数调用的参数拷贝,我一直有些疑惑,还望解答。

int f(int x)
{
return x+1;
}

int main()
{
int a = 0;
int b = f(a);
}

如果不考虑优化的话,参数总共被拷贝了两次?
1st: a -> x
2nd: x+1 -> b ?
还是说 x+1 的值被放在的某个返回值位置,然后这个返回值再赋值给 a ?

另外,这个返回值在函数的堆栈里到底是怎么存储的,有这方面的博客推荐吗,多谢!
你不是一个人 尤其是互联网公司累了一天到家啥也不想干
所以你需要一个好的沙发 适合葛优躺
2018-11-22 19:09:43 +08:00
回复了 hackpro 创建的主题 C++ C++ 模板重载问题请教
@shylockhg 非常感谢,是我的理解错了 以为里面那层 max 重载会去调用模板函数
不过如果按照您的修改 把 char const *改成 char const *&之后应该就不存在这种问题吧……
2018-11-22 18:04:32 +08:00
回复了 hackpro 创建的主题 C++ C++ 模板重载问题请教
@shylockhg #1 感谢大佬回复

您的意思是:
1、调用::max(s1,s2,s3) a,b,c 会被推导成 char const * & 引用类型
2、这时候由于非模板函数和模板函数重载,由于 char const *& 区别于 char const * 所以会选择模板函数
3、这时 a,b 被推导成 char const *&
以上这三步有问题吗?
2018-11-22 16:01:45 +08:00
回复了 russiansim 创建的主题 优惠信息 iPhone 充话费福利 10 块话费只要 5 块
@shuangyeying #29 iPad Pro 亲测可以
@russiansim #32 感谢卤煮 不知道这个每天都可以吗 还是要当天领到送的优惠券才行
2018-11-20 14:59:34 +08:00
回复了 superpeaser 创建的主题 Apple Itunes gift card 优惠, ebay 官网 7.5 折
年度好价了,不过 eBay 一直砍我招行卡订单是个咋回事
2018-11-20 08:30:47 +08:00
回复了 uhayate 创建的主题 macOS 开个帖子,来收集黑色星期五的 mac 软件优惠
@zhangwei1983 多谢告知,那双十一版本的这个 license 可以用在美国官网下载的执行文件上吗
2018-11-19 21:45:09 +08:00
回复了 uhayate 创建的主题 macOS 开个帖子,来收集黑色星期五的 mac 软件优惠
@zhangwei1983 这个不买也罢 估计是中文特制版 授权方式可能和英文官网都不一样
2018-11-19 18:50:56 +08:00
回复了 uhayate 创建的主题 macOS 开个帖子,来收集黑色星期五的 mac 软件优惠
@zhangwei1983 有链接吗 今年都没搜到啊……
2018-11-19 18:10:35 +08:00
回复了 uhayate 创建的主题 macOS 开个帖子,来收集黑色星期五的 mac 软件优惠
@zhangwei1983 双十一有半价?
2018-11-15 12:26:42 +08:00
回复了 llllllLllll 创建的主题 iPad 请问 iPad 看代码有什么推荐的方式吗
1 ... 65  66  67  68  69  70  71  72  73  74 ... 146  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1236 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 48ms · UTC 17:30 · PVG 01:30 · LAX 10:30 · JFK 13:30
Developed with CodeLauncher
♥ Do have faith in what you're doing.