30/09/2018, 17:24
Mọi người giúp đỡ về const trong toán tử gán
Mình đang tìm hiểu về toán tử gán.Nhưng mình không hiểu const là để làm gì?Rất mong được mọi người chỉ bảo !!! Cám ơn huynh đệ.
Ví dụ:
void operator=(const PhanSo &PS); // const PhanSo &PS???
const PhanSo operator=(const PhanSo &PS); // const ???
Bài liên quan





theo mình thì ‘’‘const’’’ là 1 kiểu thêm vào của kiểu dữ liệu thôi giống như ‘’‘unsigned int’’’ vậy nhưng điểm đặc biệt của noa là không thể thay đổi được, nếu bạn truyền 1 tham số const vào hàm thì trong quá trình thực thi hàm đó bạn không thể thay đổi giá trị của biến đó, làm vậy để đỡ bị sai sót nếu ko biết biến đó bị thay đổi do đâu sai thôi nha
const PhanSo &PSthì bạn viếtPhanSo PScũng được nhưng cáchPhanSo PSlà truyền tham trị thì khi đó vào hàm nó sẽ copy biếnPhanSothành 1 bản sao khác và truyền vào hàm => đối với những class có khối lượng lớn việc copy sẽ làm hiệu xuất giảm có thể dẫn tới tràn bộ nhớ. CònPhanSo &PSlà cách truyền tham chiếu nó chỉ truyền địa chỉ của biến vào nên sẽ có hiệu suất cao , tránh tràn bộ nhớ, nhưng ta lại không muốn thay đổiPSnên từPhanSo& PSta truyềnconst PhanSo &PSconst làmPSkhông bị thay đổi khi vào hàm