c++ - Liệu không có ngoại lệ nào có thể tăng hiệu suất không?
In lạiTác giả: IT Lão CaoThời gian cập nhật: 28-10-2023 12:57:53324
không ngoại trừ Các công cụ xác định hàm có nhằm mục đích tăng hiệu suất không, vì có thể không có mã trong đối tượng được tạo để ghi lại các ngoại lệ, vì vậy chúng phải được thêm vào các khai báo và định nghĩa hàm bất cứ khi nào có thể? Lần đầu tiên tôi nghĩ đến một trình bao bọc cho đối tượng có thể gọi được, trong đó không ngoại trừ Có thể có một số tác động, mặc dù việc kiểm tra các biểu thức có thể "làm phồng" mã nguồn. Nó có đáng không?
câu trả lời hay nhất
Về mặt lý thuyết,không ngoại trừ Sẽ tăng cường hiệu suất. Nhưng mặt khác, nó cũng có thể gây ra một số vấn đề.
Trong hầu hết các trường hợp,không nên được chỉ định, vì có quá ít chuyên gia xem xét vấn đề này và có thể khiến việc nâng cấp mã của bạn trở nên khó khăn. Bài đăng nàyViết bởi Andrzej, nêu chi tiết lý do.
Nếu nó quá dài, hãy làm theo lời khuyên sau đây mà tôi rút ra từ nó:
sử dụng không ngoại trừ Chức năng bình luận nếu
chúng đã được sử dụng ném() chú thích,
Hoặc họ là những ứng cử viên sáng giá (được liệt kê trong bài) và sẽ không bao giờ ném,
Hoặc chúng là các hàm tạo di chuyển, các phép gán di chuyển, không ngoại trừ Trình biên dịch không thể suy ra chính xác các chú thích và các phiên bản của chúng phải được đưa vào một số vùng chứa STL.
Không sử dụng nếu xảy ra các tình trạng sau không ngoại trừ chức năng chú thích
Bạn thực sự lo lắng về sự suy giảm hiệu suất,
hoặc về việc gọi điệnstd::chấm dứtrủi ro,
Hoặc bạn không chắc chắn về các tính năng mới,
Hoặc bạn nghi ngờ liệu bạn có nên thực hiện chức năng của mình khôngkhông ngoại trừ。
Thật khó để nói những gì đang được hỏi ở đây. Câu hỏi mơ hồ, mơ hồ, không đầy đủ, quá rộng hoặc hùng biện và không thể trả lời hợp lý ở dạng hiện tại. Để được trợ giúp làm rõ vấn đề này để bạn có thể mở lại, hãy truy cập trung tâm trợ giúp. Đã đóng
Tôi là một lập trình viên xuất sắc, rất giỏi!