🌱 C++ Return by Reference - Hàm trả về tham chiếu

🌱 C++ Return by Reference - Hàm trả về tham chiếu

Trong C++, đối với các hàm chúng ta có thể truyền tham chiếu vào hàm, cũng có thể trả về tham chiếu từ hàm.

    Trước khi đọc bài viết này, bạn nên đọc lại bài viết về biến Global.

    👉 Ví dụ về Return by Reference

#include <iostream>
using namespace std;

// global variable
int num;

// function declaration
int& test();

int main()
{
  // assign 5 to num variable
  // equivalent to num = 5;
  test() = 5;

  cout << num;
  return 0;
}

// function definition
// returns the address of num variable
int& test()
{
  return num;
}

    Run This Code    

    ➥ Các bạn có thể bấm "Run This Code", kết quả hiển thị trên màn hình console như sau.

5

  • Đối với chương trình trên, kiểu trả về của hàm test() là int&, tức là hàm này sẽ trả về một reference(tham chiếu) của biến num.
  • Câu lệnh return num; sẽ không trả về giá trị của biến num, mà sẽ trả về địa chỉ của nó.
  • Khi hàm trả về, bản thân biến dùng câu lệnh return có thể được gán một giá trị, ví dụ,
    test() = 5; sẽ gán giá trị 5 vào biến num.

    👉 Lưu ý khi sử dụng Return by Reference

    ① - Không thể return về một constant

int& test() {
    return 2;
}

    ② - Không thể return về một biến local

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

>>>= Follow ngay =<<<

Để nhận được những bài học miễn phí mới nhất nhé 😊

Chúc các bạn học tập tốt 😊

                                        

Nguyễn Văn Nghĩa

Mình là một người thích học hỏi và chia sẻ các kiến thức về Nhúng IOT.

Đăng nhận xét

Mới hơn Cũ hơn