作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当调用 F(argument_expression)
时,argument_expression
是否在为 F 压栈之前求值?
例如,当调用 F(G(H(arg)))
时,编译器是否先为 H 压栈、评估 H、弹出,然后为 G 压栈等?或者它是先为 F 压栈,然后为 G,然后为 H,然后弹出 3 层?
此外,一种方式是否比另一种方式更快?
最佳答案
您实际上问了两个正交问题。
求值 的概念是从程序员的角度出发的,在这种情况下,C++ 标准对其进行了明确定义。是的,函数的参数总是在函数被调用之前求值。
但是,该标准并未指定应如何管理堆栈。编译器可以自由采用您建议的任何一种方法。当然,它可能会采取第三种选择,即直接内联一个或多个嵌套函数。可能还有其他选择。
关于c++ - 函数参数列表中的函数调用是否加深了堆栈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6447208/
我目前正在为 Eclipse 使用定制的深色主题,包括 UI 和编辑器。唯一的问题是 Javadoc 和滚动条没有变暗。我不介意有正常的滚动条,我认为这与操作系统主题有关。是否可以更改 Javadoc
我是一名优秀的程序员,十分优秀!