Đa năng hóa toán tử

Dấu & đơn giản là trả lại reference, nói cách khác là địa chỉ của biến
Mặc định thì bạn không cần trả lại reference (ở tiền tố), thay vào đó nó sẽ trả lại giá trị của một biến mới, sẽ được copy khi sử dụng. Việc copy những biến có kiểu dữ liệu nhỏ thì cpu sẽ tính toán rất nhanh (int, float, char,…) tuy nhiên những kiểu dữ liệu lớn như string, struct, class thì trả lại tham chiếu sẽ giúp giảm bớt thời gian cpu copy, thay vào đó nó chỉ cần tính toán địa chỉ.

Ở phần hậu tố trả về giá trị của tmp mà không trả về reference của nó vì biến tmp sẽ bị xoá khi ra khỏi scope, việc cố tình sử dụng địa chỉ của nó sẽ làm chương trình bị crash.

Đơn giản vậy thôi.

1 Like