c++的指標用在引數上

看板Programming作者時間17年前 (2006/11/05 08:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/5 (看更多)
我看博碩的c++程式設計實務入門 書上寫 「對於物件來說,當有大量的成員時, 呼叫函數就會變慢下來。像這種情況下, 就變成作為引數,來利用指向物件的指標了。 把指標使用在引數上,由於只有物件的位址 被傳遞,所以不會進行整各成員的複製,對於 大型的類別,可以提升處理的速度。 」 那這樣我有兩個疑問... 「把指標使用在引數上」,那以下的兩種方式, 那一種可以提升處理的速度呢??而這兩種方式 是否相同呢? 謝謝! int main() { Car car1; car1.setNumGas(1234, 20.5); buy(&car1); return 0; } //buy函數的定義 void buy(Car* pC) { int n = pC->getNum(); double g = pC->getGas(); cout << "購買了車牌號碼為" << n << "、汽油容量為" << g << "的車子。\n"; } -------------------------------------------- int main() { Car car1; car1.setNumGas(1234, 20.5); buy(car1); return 0; } //buy函數的定義 void buy(Car& c) { int n = c.getNum(); double g = c.getGas(); cout << "購買了車牌號碼為" << n << "、汽油容量為" << g << "的車子。\n"; } -- ┌─────KKCITY─────┐─┐KKADSL六星級優質連線服務 bbs.kkcity.com.tw └─ 馬上申請帶你上網環遊全世界! └──From:218.169.109.123 ──┘ KKADSL http://adsl.kkcity.com.tw --
文章代碼(AID): #15JIc_00 (Programming)
文章代碼(AID): #15JIc_00 (Programming)