Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Trong C++, khác biệt giữa biến con trỏ và biến tham chiếu là gì?


Tham chiếu (References)

Khi một biến được khai báo là tham chiếu, nó trở thành một tên thay thế cho một biến đã tồn tại.

Cú pháp

Kiểu &tên_mới = tên_đã_có;

Khởi tạo

Kiểu &tham_chiếu; tham_chiếu = tên_biến;

Con trỏ (Pointers)

Con trỏ được dùng để lưu trữ địa chỉ của một biến.

Cú pháp

Kiểu *con_trỏ;

Khởi tạo

Kiểu *con_trỏ; con_trỏ = tên_biến;

Các khác biệt chính giữa tham chiếu và con trỏ:

  • Tham chiếu dùng để gọi một biến đã có bằng một tên khác, trong khi con trỏ lưu địa chỉ của biến.

  • Tham chiếu không thể gán giá trị null, nhưng con trỏ có thể.

  • Một biến tham chiếu có thể được truyền bằng truyền giá trị (pass by value), trong khi con trỏ có thể được truyền bằng truyền tham chiếu (pass by reference).

  • Tham chiếu phải được khởi tạo ngay khi khai báo, còn con trỏ thì không bắt buộc.

  • Tham chiếu chia sẻ cùng địa chỉ bộ nhớ với biến gốc nhưng cũng chiếm chút không gian trên stack, còn con trỏ có địa chỉ và kích thước riêng trên stack.