Tôi muốn biết làm thế nào có thể thay đổi ảnh hưởng đến một container (bản đồ, vector, danh sách, ...). Ngoài ra, tôi phải ghi nhớ điều gì?C++ Ảnh hưởng đến từ khóa có thể thay đổi đến hiệu suất của vùng chứa như thế nào?
Trả lời
mutable
, như const
, chỉ là một công cụ biên dịch. Nó chỉ cho phép bạn sửa đổi biến đó trong một ngữ cảnh không đổi. Trong thời gian chạy, không có sự khác biệt nào mà bạn khai báo là container mutable
hay không.
class Foo{
mutable int i;
public:
void foo() const{
// constant context, but you can modify `i`
i = 5;
}
};
Nó cũng có thể được sử dụng làm gợi ý cho trình tối ưu hóa – Dani
Nó ảnh hưởng đến những gì trình tối ưu hóa có thể thực hiện. –
Có (ít nhất là trong lý thuyết) một số cơ hội tối ưu hóa bạn có thể làm trên các đối tượng bất biến (theo nghĩa rộng nhất), có thể phá vỡ mã của bạn nếu áp dụng cho các đối tượng 'const' với các thành viên' mutable'. Tuy nhiên, tôi không đủ quen thuộc với việc triển khai trình biên dịch để cho biết mức độ mà chúng được triển khai. Tuy nhiên, câu hỏi là hợp lệ cho chính xác lý do này. – bitmask
- 1. z-index, ảnh hưởng đến hiệu suất như thế nào?
- 2. Dateadd ảnh hưởng như thế nào đến hiệu suất của truy vấn SQL?
- 3. Bí danh là gì và nó ảnh hưởng như thế nào đến hiệu suất?
- 4. Các nhánh đóng ảnh hưởng như thế nào đến hiệu suất Mercurial?
- 5. Trong SQL, việc sử dụng DISTINCT ảnh hưởng như thế nào đến hiệu suất?
- 6. Cuộc gọi phương thức ảnh hưởng đến hiệu suất trong Java như thế nào?
- 7. C++: Dữ liệu đọc có thể ảnh hưởng đến bộ nhớ như thế nào?
- 8. lượt xem sqlite3 ảnh hưởng đến hiệu suất?
- 9. DBMS ảnh hưởng như thế nào đến hiệu suất của ứng dụng? Và các công cụ GUI của Informix?
- 10. Việc tải nhiều gói ảnh hưởng đến hiệu suất tổng thể của một ứng dụng Symfony2?
- 11. Ảnh hưởng của Stemming đến tần suất hạn?
- 12. Kích thước của tệp jar có ảnh hưởng đến hiệu suất của JVM không?
- 13. Làm thế nào để xóa tập tin ibdata1 và làm thế nào nó có thể ảnh hưởng đến hiệu suất?
- 14. Chroot ảnh hưởng đến liên kết động như thế nào?
- 15. Khối bắt đầu có ảnh hưởng đến hiệu suất của câu lệnh có điều kiện không?
- 16. Có nhiều dll trong dự án Windows Phone của bạn ảnh hưởng đến hiệu suất không?
- 17. Chuyển từ gỡ lỗi sang cấu hình phát hành không ảnh hưởng đến hiệu suất?
- 18. Mệnh đề IN ảnh hưởng như thế nào đến hiệu năng trong oracle?
- 19. Vị trí của khối try-catch có ảnh hưởng đến hiệu suất không?
- 20. Nhận xét có ảnh hưởng đến hiệu suất của Perl không?
- 21. Việc mã hóa chuỗi cứng có ảnh hưởng đến hiệu suất không?
- 22. Lệnh Sql JOIN có ảnh hưởng đến hiệu năng không?
- 23. Các mảnh Android và ảnh hưởng của nó đến hiệu suất
- 24. Hiệu suất vùng chứa PPL
- 25. Cách sử dụng BigDecimal sẽ ảnh hưởng đến hiệu suất của ứng dụng?
- 26. Thay đổi hợp đồng WCF ảnh hưởng đến khách hàng
- 27. Kích thước bảng có ảnh hưởng đến hiệu suất INSERT không?
- 28. Từ khóa không dấu có ảnh hưởng đến kết quả của sizeof không?
- 29. Trong Redis là tất cả các khóa băm được lưu trữ trong cùng một "bảng"? và nếu như vậy nó ảnh hưởng đến hiệu suất như thế nào?
- 30. Biến `.0` không thể truy cập trong` locals() `có ảnh hưởng đến bộ nhớ hoặc hiệu suất không?
Mọi người sẽ viết sách về từ khóa có thể thay đổi nói chung, có thể bạn có thể thu hẹp, với một chút mã hiển thị nội dung trong trường hợp cụ thể của bạn. – PlasmaHH