01/10/2018, 16:08

Thắc mắc về & trong c++

Mình gặp khó khắn để hiểu đoạn code này:
int &res = f[mask];
Mọi người giải thích cách ý nghĩa của việc & và ko thêm, mục đích của việc dùng & là gì với.
Cảm ơn .

rogp10 viết 18:22 ngày 01/10/2018

Đầu tiên mask sẽ được lấy giá trị, sau đó res sẽ là một tên khác (alias).của phần tử ấy. Tức là tác động lên res là tác động lên phần tử kia của f, và ngược lại.

Tao Không Ngu. viết 18:11 ngày 01/10/2018

Hi Nguyen Minh.
Bạn đọc các tài liệu về tham chiếu.

Nguyen Minh viết 18:18 ngày 01/10/2018

Ban đầu mình nghĩ cái đó là gắn địa chỉ của res = f[mask] nhưng mình ko biết điểm khác nhau giữa việc thêm và ko thêm. Bạn giải thích rõ hơn cho mình với

rogp10 viết 18:18 ngày 01/10/2018

Nếu chỉ là int thì chỉ có giá trị giống nhau mà thôi, chứ vẫn là hai slot.
Nhưng khi đã khai báo là int& thì như hai mà một, và không thể thay đổi (rebind) được. res sẽ gắn chặt vào f[mask].

Bài liên quan
0