Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah fungsi C++ mengembalikan rujukan atau penunjuk sebagai nilai pulangan?
Fungsi C++ boleh mengembalikan rujukan atau penuding sebagai nilai pulangan dengan cara berikut: Mengembalikan rujukan: Menggunakan '&' sebagai jenis pulangan membolehkan fungsi mengubah suai nilai objek pemanggil. Penunjuk pulangan: Menggunakan '*' sebagai jenis pulangan membenarkan fungsi mengubah suai nilai yang ditunjuk oleh objek pemanggil. Apabila menggunakan rujukan atau penunjuk, pastikan objek kekal sah selepas fungsi kembali, dan elakkan penggunaan yang tidak perlu yang mengurangkan kejelasan kod.
Dalam C++, fungsi biasanya menghantar parameter melalui objek atau pembolehubah yang disediakan oleh pemanggil. Walau bagaimanapun, terdapat situasi di mana anda mungkin mahu fungsi mengembalikan rujukan atau penuding kepada objek pemanggil. Ini boleh dicapai dalam beberapa cara.
Untuk mengembalikan rujukan, gunakan jenis pulangan rujukan &
. Contohnya: &
引用的返回类型。例如:
int& max(int& a, int& b) { return (a > b) ? a : b; }
此函数返回对更大数字的引用,从而允许调用者修改原始值。
假设我们有一个学生类,其中包含一个 name
属性。我们可以编写一个返回学生姓名引用的函数,如下所示:
class Student { public: string& getName() { return name; } private: string name; }; int main() { Student student; student.getName() = "John Doe"; cout << student.getName() << endl; // 输出:"John Doe" }
要返回指针,请使用 *
解引用运算符作为返回类型。例如:
int* max(int* a, int* b) { return (a > b) ? a : b; }
此函数返回一个指向更大数字的指针,从而允许调用者修改原始值。
假设我们有一个形状类,其中包含一个 area
class Shape { public: double* getArea() { return &area; } private: double area; }; int main() { Shape shape; *shape.getArea() = 100.0; cout << *shape.getArea() << endl; // 输出:"100" }Fungsi ini mengembalikan rujukan kepada nombor yang lebih besar, membenarkan pemanggil mengubah suai nilai asal. Kes praktikal
name
. Kita boleh menulis fungsi yang mengembalikan rujukan kepada nama pelajar seperti ini: *
sebagai jenis pemulangan. Contohnya: Atas ialah kandungan terperinci Bagaimanakah fungsi C++ mengembalikan rujukan atau penunjuk sebagai nilai pulangan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!