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 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++:
Bạn không thể có tham chiếu NULL. Bạn luôn luôn phải giả sử rằng một tham chiếu được kết nối với một phần của kho lưu trữ.
Khi một tham chiếu được khởi tạo cho một đối tượng, nó không thể bị thay đổi để tham chiếu tới đối tượng khác. Các con trỏ có thể được trỏ tới đối tượng khác tại bất kỳ thời điểm nào.
Một tham chiếu phải được khởi tạo khi nó được tạo. Các con trỏ có thể được tạo tại bất kỳ thời điểm nào.
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++ 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ệm | Miêu tả |
---|---|
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ố | |
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ề |
Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.
Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.
Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack
Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.
Bài học C++ phổ biến khác tại vietjack.com: