函數的形參,什么時候使用引用?什么時候使用指針?什么時候使用按值傳遞?


在C++中,函數的形參,什么時候使用引用?什么時候使用指針?什么時候使用按值傳遞?

1  對於使用傳遞的值而不做修改的函數

(1)數據對象較小,如內置數據類型或小型結構體,則按值傳遞

  void func(int );

(2)數據對象是數組,則只能使用指針,並將指針const指針

  void func(const int *,int);//第二個參數為數組長度

(3)數據對象是較大的結構體,則const指針或const引用都行

  struct struc{…};

  void func(const struc *);

  或void func(const struc &);

(4)數據對象是類,則使用const引用

  void func(const string &,);

2  對於使用傳遞的值要做修改的函數

(1)數據對象是內置數據類型,則使用指針

  void func(int *);

(2)數據對象是數組,則只能使用指針

  void func(int *,int);//第二個參數為數組長度

(3)數據對象是結構體,則使用引用或指針

  struct struc{…};

  void func(struc *);

  或void func(struc &);

(3)數據對象是類,則使用引用

  void func(ostream &);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM