You are on page 1of 2

Phép tham chiếu

Trong C, hàm nhận tham số là con trỏ đòi hỏi chúng ta phải thận trọng khi gọi hàm. Chúng ta
cần viết hàm hoán đổi giá trị giữa hai số như sau:
void Swap(int *X, int *Y);
{
int Temp = *X;
*X = *Y;
*Y = *Temp;
}
Để hoán đổi giá trị hai biến A và B thì chúng ta gọi hàm như sau:
Swap(&A, &B);
Rõ ràng cách viết này không được thuận tiện lắm. Trong trường hợp này, C++ đưa ra một kiểu
biến rất đặc biệt gọi là biến tham chiếu (reference variable). Một biến tham chiếu giống như là
một bí danh của biến khác. Biến tham chiếu sẽ làm cho các hàm có thay đổi nội dung các tham
số của nó được viết một cách thanh thoát hơn. Khi đó hàm Swap() được viết như sau:
void Swap(int &X, int &Y);
{
int Temp = X;
X = Y;
Y = Temp ;
}

Chúng ta gọi hàm như sau :

Swap(A, B);

Với cách gọi hàm này, C++ tự gởi địa chỉ của A và B làm tham số cho hàm Swap(). Cách dùng
biến tham chiếu cho tham số của C++ tương tự như các tham số được khai báo là Var trong
ngôn ngữ Pascal. Tham số này được gọi là tham số kiểu tham chiếu (reference parameter). Như
vậy biến tham chiếu có cú pháp như sau :
data_type & variable_name;
Trong đó:
data_type: Kiểu dữ liệu của biến.
variable_name: Tên của biến
Khi dùng biến tham chiếu cho tham số chỉ có địa chỉ của nó được gởi đi chứ không phải là toàn
bộ cấu trúc hay đối tượng đó như hình 2.14, điều này rất hữu dụng khi chúng ta gởi cấu trúc và
đối tượng lớn cho một hàm
.

You might also like