以下哪项更快?重载操作符或使函数(C++)
方法1:
int foo (int A, int B) {
// write equations
}
方法2:
int operator| (int A, int B) {
// write equations
}
以下哪项更快?重载操作符或使函数(C++)
方法1:
int foo (int A, int B) {
// write equations
}
方法2:
int operator| (int A, int B) {
// write equations
}
它们都是一个函数(因此在速度上没有区别),只是一个(操作符)可以使用更多的“花哨”语法来调用。
当你决定使用哪两种不应该是速度时,你的问题应该不是速度,而是如果你使用操作符的类型的含义是自然的。当你用它来做一些对读者来说完全令人惊讶的事情时,考虑到他知道操作员通常所做的事情,那么不要让操作员过载。 (我在这里假设你的意思是你自己的类型而不是int,并且万一你不知道,你不能在整数上重载运算符,重载运算符的参数之一必须是用户定义的类型)
没有区别,他们在每一个我所听过的编译器实现完全相同的方式在内部。可以肯定:简介!
是的@DavidSeiler说,简介它,或者如果你有一台Linux机器,编译它并使用时间计算两种情况下的执行时间(偏离大量迭代)。 – crsuarezf 2012-02-03 17:03:47
关于执行速度没有区别。
选择只是样式和可读性之一。你应该选择一个最易理解的代码来帮助未来的维护。
为什么要比另一个更快? – 2012-02-02 16:29:12