Tham chiếu (Reference) trong C

Trong bài học C++ dưới đây Taimienphi.vn sẽ giới thiệu chi tiết cho bạn về tham chiếu (Reference) trong C++. Ngoài ra bạn đọc có thể tham khảo thêm một số bài viết đã có trên Taimienphi.vn để tìm hiểu thêm thông tin về chuỗi (string) trong C++ và con trỏ (pointer) trong C++ là gì nhé.

Để tìm hiểu chi tiết về tham chiếu (Reference) trong C++ là gì, bạn đọc cùng tham khảo bài viết dưới đây của Taimienphi.vn.

tham chieu reference trong c

Mục Lục bài viết:

1. Tham chiếu (Reference) trong C++
2. Tham chiếu và con trỏ trong C++
3. Ví dụ về tham chiếu trong C++

1. Tham chiếu (Reference) trong C++

Khi một biến được khai báo là tham chiếu, nó sẽ có tên khác với tên biến hiện tại. Để khai báo một biến là tham chiếu, chúng ta sử dụng "&" trong phần khai báo.

Cho một số ví dụ về tham chiếu trong C++:

- Ví dụ 1:

#include

sử dụng namespace std;
int main()
{
int x = 10;
// ref là tham chiếu tới x.
int& ref = x;
// Giá trị của x thay đổi thành 20
ref = 20;
cout < "x=" << x << endl ;
// Giá trị của x thay đổi thành 30
x = 30;
cout << " ref=" << ref << endl ;
trả về 0;
}
Kết quả đầu ra có dạng:
x = 20
ref = 30

- Ví dụ 2:

Ví dụ dưới đây sử dụng các tham chiếu để hoán đổi hai biến:

#include
sử dụng namespace std;
void hoán đổi (int& first, int& second)
{
int temp = first;
first = second;
second = temp;
}
int main()
{
int a = 2, b = 3;
swap( a, b );
cout << a << " "=""><>
trả về 0;
}

Kết quả đầu ra là: 3 và 2.

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

Trong C++, cả tham chiếu và con trỏ đều được sử dụng để thay đổi các biến cục bộ của một hàm bên trong hàm khác, hoặc sử dụng để lưu trữ bản sao các đối tượng lớn khi được truyền dưới dạng đối số cho một hàm hoặc được trả về từ hàm.

Mặc dù giữa tham chiếu và con trỏ có nhiều điểm giống nhau, xong cũng có những điểm khác:

- Con trỏ có thể được khai báo là void nhưng tham chiếu thì không.

Cho ví dụ:

int a = 10;

void* aa = &a;. //hợp lệ

void &ar = a; // không hợp lệ

- Sau khi tham chiếu được tạo, nó không thể tham chiếu đối tượng khác, không thể sửa đổi được, nhưng con trỏ thì có.
- Tham chiếu không thể là NULL. Con trỏ thường tạo ra NULL để thông báo nó không trỏ đến bất kỳ giá trị hợp lệ nào.
- Tham chiếu phải được khởi tạo khi khai báo, con trỏ thì không.

Vì những hạn chế trên, tham chiếu trong C++ không được sử dụng để triển khai cấu trúc dữ liệu như danh sách liên kết, cây, ... . Trong Java, các tham chiếu không bị hạn chế, vì vậy Java không cần con trỏ.

- Tham chiếu an toàn hơn và dễ sử dụng hơn:

+ An toàn hơn: Vì các tham chiếu phải được khởi tạo, nên các tham chiếu tự nhiên nhyw con trỏ khó có thể tồn tại.

+ Dễ sử dụng: Tham chiếu không cần toán tử trỏ đến để truy cập các giá trị. Chúng có thể được sử dụng như các biến thông thường. Ngoài ra toán tử "&" chỉ cần tại thời điểm khai báo, các thành viên của một tham chiếu đối tượng có thể được truy cập bằng toán tử (.). Không giống như con trỏ, sử dụng toán tử (->) để truy cập các thành viên.

Cuối cùng các tham chiếu phải được sử dụng để nạp chồng một số toán tử như ++.

3. Ví dụ về tham chiếu trong C++

// tham chiếu.cpp

#include
struct S {
short i;
};
int main() {
S s; // khai báo đối tượng.
S& SRef = s; // khai báo tham chiếu.
s.i = 3;
printf_s("%d\n", s.i);
printf_s("%d\n", SRef.i);
SRef.i = 4;
printf_s("%d\n", s.i);
printf_s("%d\n", SRef.i);
}
Kết quả đầu ra có dạng:
3
3
4
4

https://thuthuat.taimienphi.vn/tham-chieu-reference-trong-c-45809n.aspx
Bài viết trên đây bạn đọc đã cùng Taimienphi.vn tìm hiểu về tham chiếu (Reference) trong C++ là gì. Trong bài viết tiếp theo Taimienphi.vn sẽ giới thiệu tiếp cho bạn về date và time trong C++, một nội dung vô cùng quan trọng khi học lập trình C, cùng chúng tôi tìm hiểu Date và Time trong C để đóng góp vào kho kiến thức của bạn.

Tác giả: Chipu     (4.0★- 3 đánh giá)  ĐG của bạn?

  

Bài viết liên quan

Mảng (array) trong C (phần 1)
Enum trong C# là gì? Cú pháp và cách khởi tạo
Hàm trong C
Mảng (array) trong C (phần 3)
Number trong C++
Từ khoá liên quan:

Tham chiếu (Reference) trong C++

, học C++, tham chiếu trong C++,

SOFT LIÊN QUAN
  • wxDev C++

    Phần mềm lập trình mã nguồn mở miễn phí

    wxDev C++ là phần mềm lập trình miễn phí dành cho ngôn ngữ C/C++, tích hợp sẵn công cụ thiết kế giao diện đồ họa (GUI) bằng thư viện wxWidgets. Với giao diện thân thiện và dễ sử dụng, wxDev-C++ giúp người dùng xây dựng ứ ...

Tin Mới

  • Cách đổi mật khẩu Microsoft Teams trên máy tính, điện thoại

    Đổi mật khẩu Microsoft Teams là bước quan trọng giúp bảo vệ tài khoản của bạn khỏi các mối nguy hiểm bảo mật. Tải Miễn Phí sẽ hướng dẫn bạn cách thay đổi mật khẩu nhanh chóng và dễ dàng trên cả máy tính và thiết bị di động, đảm bảo an toàn cho thông tin cá nhân khi sử dụng Teams.

  • Cách lên lịch cuộc họp trên Teams Chat, Microsoft Teams

    Lên lịch cuộc họp trên Microsoft Teams là cách nhanh chóng để kết nối và trao đổi công việc hiệu quả với đồng nghiệp. Chỉ với vài thao tác đơn giản, bạn có thể thiết lập thời gian, địa điểm và gửi lời mời họp đến các thành viên ngay trong khung trò chuyện.

  • Thơ 30/4 và 1/5 hay ngày Giải phóng miền Nam, Quốc Tế Lao động

    Ngày Giải phóng miền Nam 30/4 và Quốc tế Lao động 1/5 là dịp để chúng ta tưởng nhớ lịch sử hào hùng, tôn vinh người lao động và bày tỏ lòng biết ơn. Tuyển tập thơ 30/4 và 1/5 hay dưới đây sẽ mang đến những cảm xúc sâu

  • Cách sửa lỗi Windows cannot connect to the printer Windows 11/10

    Khi cài đặt máy in, đôi khi bạn sẽ gặp thông báo lỗi Windows cannot connect to the printer trên màn hình. Để khắc phục sự cố lỗi máy in này, bạn hãy tham khảo bài viết hướng dẫn sửa lỗi Windows cannot connect to the printer dưới đây của Tải Miễn Phí, chúng tôi sẽ hướng dẫn bạn từng bước để giải quyết vấn đề này một cách hiệu quả.