Re: [請益] for迴圈 i++ or ++i ?
※ 引述《solonchuang (企鵝寶寶)》之銘言:
: ※ 引述《adrianshum (Alien)》之銘言:
: : 原因大概因為 i++ 看起來比較順眼,
: : 還有其實寫了很久程式的人也不太會留意
: : 這個分別而已
: : Alien
: 畢竟用了非常久的i++,
: 追根究底請教一下, 為什麼 ++i 比較好?
由於 postfix ++ (或 --) return 的值是
increment/decrement 前的值。假設現在用的
是一個 class 而非一般的 integer:
class MyClass {
public:
MyClass& operator++(); // prefix increment
MyClass operator++(int); // postfix increment
private:
int value;
}
MyClass& MyClass::operator++() {
++this.value;
return *this;
}
MyClass MyClass::operator++(int) {
MyClass tempData;
tempData.value = this.value;
++this.value;
return tempData;
}
由於性質上的差異,postfix ++/-- 無可避免要
一個 temp variable 來作為 return value.
本身的額外memory usage, copy construction etc
都是帶來額外負擔的部份。
Alien
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.218.221.132
→
12/10 22:36, , 1F
12/10 22:36, 1F
推
12/10 22:39, , 2F
12/10 22:39, 2F
推
12/10 22:47, , 3F
12/10 22:47, 3F
→
12/10 22:49, , 4F
12/10 22:49, 4F
→
12/10 22:50, , 5F
12/10 22:50, 5F
→
12/10 22:50, , 6F
12/10 22:50, 6F
推
12/11 11:42, , 7F
12/11 11:42, 7F
推
12/14 02:17, , 8F
12/14 02:17, 8F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 6 之 6 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章