天天看點

c++形參引用/指針/按值傳遞

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

c++

繼續閱讀