Tại sao chúng ta lại phải dùng tham chiếu(reference) trong hàm?

phần này em thấy khá là trìu tượng. ai có thể giải thích giúp em rõ hơn không ạ!!
em đang đọc tài liệu ở cpp.daynhauhoc.com và khóa của anh Đạt ợ !!

Vd hàm nhập 1 số

int main() {
int x;
cout << x;
}

TH1:

 void Input(int n)
{
       cin >> n;
}

Lúc này biến x vẫn không thay đổi vì khi thay báo bình thường thì kết thúc hàm giá trị biến sẽ bị xóa ngay

TH2:
Nhưng khi

void Input(int &n)
{
        cin >> n;
}

thì x sẽ thay đổi vì n được hiểu như là nick name của x, n thay đổi làm x thay đổi theo. Bác thử nhập vào và xem kết quả sẽ hiểu :3

Ví dụ như bạn có 1 hàm để chuyển tiền từ tài khoản A sang tài khoản B
Nếu bạn không truyền biến tham chiếu vào hàm này thì số tiền trong tài khoản A sẽ không bị trừ tiền và tài khoản B cũng không nhận được tiền.

Thích thì mình dùng thôi. Trong C không có tham chiếu có chết ai đâu.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?