如何在 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 const *x);

呼叫

X x;
fun(&x);

按常量指標傳遞

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

宣告

void fun(X *x);

呼叫

X x;
fun(&x);

更新於: 2019-07-30

674 次瀏覽

開啟你的 職業生涯

完成課程獲得認證

開始學習
廣告

© . All rights reserved.