Trả về tham chiếu trong C++

Trong bài này, bạn sẽ được học về cách trả về một giá trị qua tham chiếu trong một hàm và sử dụng nó hiệu quả trong chương trình của bạn.

Trong lập trình C++, bạn không chỉ có thể truyền giá trị bằng tham chiếu cho một hàm mà bạn còn có thể trả về một giá trị qua tham chiếu.

Để hiểu tính năng này, bạn cần có kiến thức về:

Ví dụ: Trả về tham chiếu

#include <iostream>
using namespace std;

// Biến toàn cục
int num;

// Khai báo hàm
int& test();

int main()
{
    test() = 5;

    cout << num;

    return 0;
}

int& test()
{
    return num;
}

Đầu ra

5

Trong chương trình trên, kiểu trả về của hàm test()int&. Vì vậy hàm này trả về tham chiếu của biến num.

Câu lệnh trả về là return num;. Không giống như trả về giá trị, câu lệnh này không trả về giá trị của num, thay vào đó nó trả về chính biến đó (địa chỉ).

Vì thế khi biến được trả về, nó có thể được gán một giá trị như đã làm với test() = 5;

Câu lệnh này sẽ lưu 5 vào biến num, sau đó được hiển thị trên màn hình.

Điều quan trọng cần nhớ khi trả về bởi tham chiếu.

  • Hàm thông thường sẽ trả về giá trị nhưng hàm dạng này thì không. Vì vậy bạn không thể trả về một hằng số từ hàm này.
  • int& test() {
        return 2;
    }

    Bạn không thể trả về một biến cục bộ từ hàm này.

  • int& test()
    {
        int n = 2; 
        return n; 
    }

** Nếu bạn muốn viết các nội dung đặt biệt thì hãy làm theo hướng dẫn sau

Xem thêm 10 bình luận
Viết blog mới của bạn
Báo lỗi trang
Đang tải