Trang tài liệu
Khóa học C++ nền tảng
Chương 6. Con trỏ và tham chiếu
Tham chiếu

Tham chiếu

Một tham chiếu có thể được coi là một con trỏ không đổi (đừng nhầm với con trỏ tới một giá trị không đổi) luôn trỏ đến (tham chiếu) cùng một đối tượng. Chúng được khai báo bằng ký hiệu & (dấu và).

Khai báo và khởi tạo

Để khai báo một tham chiếu, hãy sử dụng ký hiệu & theo sau là loại biến và tên của tham chiếu. Lưu ý rằng bạn phải khởi tạo một tham chiếu khi bạn khai báo nó.

intvar = 10;      // Khai báo một biến số nguyên
int& ref = var; // Khai báo một tham chiếu "trỏ tới" var

Cách sử dụng

Bạn có thể sử dụng tham chiếu giống như bạn sử dụng biến ban đầu. Khi bạn thay đổi giá trị của tham chiếu, giá trị của biến ban đầu cũng thay đổi, vì cả hai đều chia sẻ cùng một vị trí bộ nhớ.

biến = 20; // Đặt giá trị của var thành 20
cout << ref << endl; // Đầu ra 20

tham chiếu = 30; // Đặt giá trị của ref thành 30
cout << var << endl; // Đầu ra 30

Thông số hàm

Bạn có thể sử dụng tham chiếu làm tham số hàm để tạo bí danh cho đối số. Điều này thường được thực hiện khi bạn cần sửa đổi biến ban đầu hoặc khi chuyển một đối tượng có kích thước đáng kể để tránh chi phí sao chép.

void swap(int& a, int& b) {
    int temp = a;
    a = b;
    b = temp;
}

int main() {
   int x = 5, y = 10;
   cout << "Before Swap: x = " << x << " y = " << y << endl; // đầu ra 5 10
   
   swap(x, y);
   cout << "After Swap: x = " << x << " y = " << y << endl;  // đầu ra 10 5
}