我能确定吗:
class foo {
public:
int x;
void bar(int k) {
x = k;
}
};
foo o;
o.bar(5);
将与:
class foo {
public:
int x;
};
void foobar(foo& f, int k) {
f.x = k;
}
foo o;
foobar(o, 5);
我知道两者都会将“x”设置为“k”,但我可以确定它们都以相同的速度执行/生成相同的 asm 吗?编译器可以更好地优化方法吗?
最佳答案
生成汇编程序并进行比较(GCC 的-S
标志)。
关于c++ - 成员函数与传递对全局函数的引用相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4987661/