Tham chiếu và tham trị là gì

Tham ChiếuTham Trị là cách truyền tham số mà chúng ta thường gặp trong các bài toán hàm hoặc mảng trong C/C++, nó cũng là một vấn đề khá đau đầu nếu như chúng ta không hiểu. Nhưng bạn không phải lo, đọc kỹ bài viết này, tôi tin chắc rằng bạn sẽ hiểu nó ngay đấy.

  • Giống nhau: đều truyền giá trị vào hàm khi hàm được gọi.
  • Khác nhau:
    • Truyền tham trị [Pass by value]: truyền giá trị của biến vào hàm.
    • Truyền tham chiếu [Pass by reference]: truyền địa chỉ của biến vào hàm.

Hình trên mô tả cách truyền tham chiếu và tham trị. Trong đó cup là biến được truyền vào lời gọi hàm fillCup.

Truyền tham trị – Pass by value

Ý tưởng

Khi truyền biến vào hàm theo cách truyền tham trị, giá trị của biến sẽ được sao chép thành một bản sao trong bộ nhớ, việc thực hiện các phép tính toán trong hàm đối với biến này đều thực hiện trên bản sao đã tạo ra, nghĩa là nó sẽ làm việc trên bản sao.

[Giống như bạn photo giấy khai sinh rồi đem ra xã đóng dấu lên bản sao để công chứng đó, chúng ta làm việc đóng dấu lên bản sao photo chứ không tác động trực tiếp trên bản gốc].

Kết quả

Giá trị của biến được truyền hàm vào không thay đổi.

[Bản gốc bạn đem đi photo ra bản sao như nào thì nó y chang như vậy]

Cách sử dụng

Không cần thêm ký hiệu gì đặc biệt trước biến được truyền vào hàm cả.

Ví dụ

#include using namespace std; void go_up[int a]{ a++; } int main[]{ int n = 2; go_up[n]; cout

Chủ Đề