14/08/2018, 12:36

Tham chiếu trong C++

Một biến tham chiếu là một alias , đó là tên khác cho một biến đã đang tồn tại. Khi một tham chiếu được khởi tạo với một biến, thì: hoặc tên biến hoặc tên tham chiếu có thể được sử dụng để tham chiếu tới biến đó. Tham chiếu và con trỏ trong C++ Sử dụng tham chiếu có thể thường gây bối rối ...

Một biến tham chiếu là một alias, đó là tên khác cho một biến đã đang tồn tại. Khi một tham chiếu được khởi tạo với một biến, thì: hoặc tên biến hoặc tên tham chiếu có thể được sử dụng để tham chiếu tới biến đó.

Tham chiếu và con trỏ trong C++

Sử dụng tham chiếu có thể thường gây bối rối cho bạn như với con trỏ, tuy nhiên, có 3 điểm khác nhau giữa tham chiếu và con trỏ trong C++:

Tạo tham chiếu trong C++

Bạn coi một tên biến như là một label (một nhãn) được đính kèm với vị trí biến trong bộ nhớ. Sau đó, bạn có thể nghĩ về tham chiếu như là label thứ hai được đính kèm với vị trí bộ nhớ đó. Vì thế, bạn có thể truy cập nội dung của biến thông qua: hoặc tên biến ban đầu hoặc tham chiếu. Giả sử chúng ta có ví dụ sau:

int    i = 19;

Bạn có thể khai báo các biến tham chiếu cho i như sau:

int&    r = i;

Đọc & trong các khai báo này là Tham chiếu. Vì thế, trong khai báo đầu tiên, r là tham chiếu integer được khởi tạo cho i và trong tham chiếu thứ hai, s là tham chiếu double được khởi tạo cho d. Ví dụ sau sử dụng các tham chiếu trong C++:

#include <iostream>
 
using namespace std;
 
int main ()
{
   // khai bao cac bien
   int    i;
   double d;
 
   // khai bao cac bien tham chieu
   int&    r = i;
   double& s = d;
   
   i = 5;
   cout << "Gia tri cua i la: " << i << endl;
   cout << "Gia tri cua tham chieu toi i la: " << r  << endl;
 
   d = 11.7;
   cout << "Gia tri cua d : " << d << endl;
   cout << "Gia tri cua tham chieu toi d la: " << s  << endl;
   
   return 0;
}

Chạy chương trình C++ trên sẽ cho kết quả như hình sau:

Tham chiếu trong C++

Tham chiếu trong C++ thường được sử dụng cho danh sách các tham số hàm và hàm trả về các giá trị. Sau đây là hai khái niệm quan trọng liên quan tới tham chiếu trong C++, bạn sẽ thấy chi tiết khi click vào link:

Khái niệmMiêu tả

Truyền tham số bởi tham chiếu trong C++

C++ hỗ trợ truyền các tham chiếu như là các tham số hàm mà an toàn hơn so với các tham số

Trả về giá trị bởi tham chiếu trong C++

Bạn có thể trả về tham chiếu từ một hàm C++ giống như bất kỳ kiểu dữ liệu khác có thể được trả về

0