Kesilapan biasa dengan parameter rujukan dan parameter penunjuk ialah: parameter rujukan mesti dimulakan kepada pembolehubah yang sah dan tidak boleh diubah jenisnya, dan parameter penunjuk mesti menunjuk kepada pembolehubah yang sah dan tidak boleh dilepaskan berulang kali. Selain itu, parameter penuding boleh mengakses penuding yang tidak dimulakan dan menyahrujuk pembolehubah tidak bertitik, manakala parameter rujukan tidak boleh menunjuk kepada pembolehubah sementara.
Sesuatu parameter rujukan adalah serupa dengan pembolehubah biasa, tetapi ia adalah alias untuk pembolehubah lain. Ini bermakna bahawa sebarang pengubahsuaian pada parameter rujukan akan ditunjukkan dalam pembolehubah yang dirujuknya.
Sintaks:
void function(T& reference_parameter);
int
kepada rujukan kepada parameter float
. int
参数修改为引用float
参数。指针参数指向另一个变量的内存地址。通过指针,可以修改被指向的变量。
语法:
void function(T* pointer_parameter);
以下示例演示了引用参数和指针参数的正确用法:
#include <iostream> void swap(int& a, int& b) { int temp = a; a = b; b = temp; } void swapPointers(int* a, int* b) { int* temp = a; a = b; b = temp; } int main() { int x = 10; int y = 20; // 调用引用参数函数 swap(x, y); std::cout << "x: " << x << ", y: " << y << std::endl; // 输出:x: 20, y: 10 int* px = &x; int* py = &y; // 调用指针参数函数 swapPointers(px, py); std::cout << "*px: " << *px << ", *py: " << *py << std::endl; // 输出:*px: 20, *py: 10 }
在这个例子中:
swap
函数使用引用参数,正确地交换了x
和y
的值。swapPointers
函数使用指针参数,正确地交换了px
和py
swap
menggunakan parameter rujukan, menukar y
. 🎜🎜Fungsi swapPointers
menggunakan parameter penuding untuk menukar nilai pembolehubah yang ditunjuk oleh px
dan py
dengan betul. 🎜🎜Atas ialah kandungan terperinci Ralat biasa dalam rujukan dan parameter penunjuk dalam fungsi C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!