Làm thế nào để trình biên dịch C++ hoặc Java đảm bảo rằng không có trạng thái biến thành viên nào được thay đổi trong hàm thành viên const
(có thể thay đổi được là ngoại lệ).Trình biên dịch đảm bảo rằng không có trạng thái thành viên dữ liệu nào được thay đổi trong hàm thành viên const? (hoặc trong C++ hoặc java)
Trình biên dịch có làm điều gì đó giống như đặt mã trong phân đoạn mã không thể ghi được hay gì đó tương tự không?
Tham chiếu: 9.3.2/2 –
OK. Tôi sẽ nâng DR, bởi vì đây không phải là cố ý (và bị mâu thuẫn ở nhiều nơi khác trong tiêu chuẩn). Bạn có thể sửa đổi 'mutable' (nếu không, điểm là gì), bạn có thể bỏ đi const, và bạn có thể sửa đổi rõ ràng đối tượng thông qua các con trỏ khác, không liên quan đến nó có thể tồn tại. –
@James: Nhiều hoạt động trong số này dẫn đến hành vi không xác định. –