如何在 C++ 程式中將物件傳遞給函式?


將物件傳遞給函式有四種方法。假設您有一個類 X 並希望將其傳遞給函式 fun,則

按值傳遞

這會在函式作用域內建立物件的淺複製。在此修改的內容不會反映到傳遞給它的物件中。例如,

宣告

void fun(X x);

呼叫

X x;
fun(x);

按引用傳遞

這將物件的引用傳遞給函式。在此修改的內容將反映到傳遞給它的物件中。不會建立物件的副本。例如,

宣告

void fun(X &x);

呼叫

X x;
fun(x);

按常量引用傳遞

這將物件的常量引用傳遞給函式。您不能在此直接修改/重新分配物件(儘管您可以使用其執行此操作的方法)。如果您希望函式僅擁有物件的只讀副本,這將很有用。不會建立物件的副本。例如,

宣告

void fun(X const *x);

呼叫

X x;
fun(&x);

按常量指標傳遞

這將物件的常量指標傳遞給函式。您不能在此修改/重新分配指標。如果您希望函式僅在指標中擁有該物件的地址,這將很有用。不會建立物件的副本。例如,

宣告

void fun(X *x);

呼叫

X x;
fun(&x);

按指標傳遞

這將物件的指標傳遞給函式。這類似於將物件的引用傳遞給函式。不會建立物件的副本。例如,

宣告

<void fun(X *x);>

呼叫

X x;
fun(&x);

更新於: 2019-07-30

8K+ 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.