【发布时间】:2012-12-10 18:39:00
【问题描述】:
假设编译器实际上内联了foo,这两个语句之间是否存在性能差异?
inline int foo (int val) {
return val;
}
int main () {
std::cout << foo(123) << std::endl;
std::cout << 123 << std::endl;
return 0;
}
让我们忽略移动语义和复制省略可能产生的任何影响。
【问题讨论】:
-
它们在我看来是一样的。您可以查看生成的程序集进行验证。