以下哪项更快?
方法1:
int foo (int A, int B) {
// write equations
}
方法2:
int operator| (int A, int B) {
// write equations
}
答案 0 :(得分:8)
执行速度没有区别。
选择只是风格和可读性之一。您应该选择最容易理解的代码来帮助将来进行维护。
答案 1 :(得分:6)
它们都是一个函数(因此速度没有差异),只是一个(运算符)可以使用更“奇特”的语法来调用。
在决定使用两者时,你的问题不应该是速度,而是如果你使用算子的类型的含义是自然的。当你用它做一些对读者来说完全令人惊讶的事情时,考虑到他知道操作员通常做什么,那么就不要让操作员超负荷。
(我在这里假设你的意思是你自己的类型而不是int,如果你不知道,你不能在int上重载运算符,重载运算符的参数之一必须是用户定义的类型)
答案 2 :(得分:2)
没有区别,它们在我听说过的每个编译器内部都以完全相同的方式实现。确定:简介!