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