在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 &);