以下哪項更快?重載操作符或使函數(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