Tôi đã đọc một cuốn sách về C++ 14/11. Tôi vừa đọc xong một chương về từ khóa constexpr. Tôi biết những gì nó được sử dụng cho. Tôi nhận được làm thế nào nó có thể được sử dụng trên các lớp học và các chức năng thành viên lớp học. Nhưng, tôi nên sử dụng constexpr thường xuyên như thế nào? Tôi có nên sử dụng nó ngay cả trong mã cho các lớp tôi biết sẽ không bao giờ được sử dụng để tạo ra các đối tượng contstexpr? (Chỉ trong trường hợp, bởi vì nó không chi phí cho tôi bất cứ điều gì, phải không?)C++ 14 Tôi nên sử dụng constexpr bao lâu một lần?
Trả lời
C++ 14 Tôi nên sử dụng constexpr thường xuyên như thế nào?
Có một cuộc thảo luận rộng rãi trong mục 15 (Sử dụng constexpr bất cứ khi nào có thể) của Scott Meyer's cuốn sách Effective Modern C++.
Phác thảo của mục này là constexpr
nên được sử dụng bất cứ khi nào có thể, do thực tế là các chức năng và đối tượng có thể được sử dụng trong một phạm vi rộng hơn các không phải là constexpr
.
Tuy nhiên, trong cùng một mục, tác giả đề cập đến cảnh báo lạm dụng constexpr
. Tức là, nếu bạn quyết định hội đủ điều kiện một đối tượng hoặc một chức năng là constexpr
, khách hàng của bạn sẽ được phép sử dụng nó trong các nội dung constexpr
. Tuy nhiên, nếu sau này bạn quyết định rằng mã này không được là constexpr
và xóa constexpr
, điều này có thể làm cho mã của bạn không biên dịch bao gồm các tác dụng phụ mà điều này sẽ có cho khách hàng của bạn.
Trích dẫn từ văn bản gốc:
“Sử dụng constexpr bất cứ khi nào có thể” là sự sẵn sàng của bạn để thực hiện một cam kết lâu dài để những hạn chế nó áp đặt trên các đối tượng và chức năng bạn áp dụng nó vào.
- 1. Tôi nên tạo EntityManager bao lâu một lần?
- 2. Tôi nên mở/đóng kết nối Booksleeve của mình bao lâu một lần?
- 3. Tôi nên đóng các kết nối cơ sở dữ liệu bao lâu một lần?
- 4. Simple constexpr lookup table trong C++ 14
- 5. Tôi có nên sử dụng constexpr như thế này không?
- 6. Bạn nên thu gọn cơ sở dữ liệu SQL CE bao lâu một lần?
- 7. SQL Server 2005 - Bạn nên xây dựng lại các chỉ mục bao lâu một lần?
- 8. Rắc rối hiểu biết C++ 14 Relaxed hạn chế constexpr
- 9. Tôi nên # bao gồm để sử dụng 'htonl'?
- 10. Bao lâu kể từ lần mở ứng dụng lần cuối trong iOS?
- 11. Các trường email SQL nên dài bao lâu?
- 12. Tôi đang sử dụng C++ 14 hoặc là mã của tôi, sử dụng cấu trúc, không hợp lệ?
- 13. Mất bao lâu để học C?
- 14. Tôi nên sử dụng bao nhiêu hoạt động?
- 15. Tôi nên giữ các dự án ngã ba trên github trong bao lâu?
- 16. static const vs constexpr thành viên lĩnh vực trong C + + 11/14?
- 17. C# Tại sao tôi không nên sử dụng coroutines?
- 18. Tôi nên chờ bao lâu sau khi áp dụng chính sách AWS IAM trước khi hợp lệ?
- 19. Mã của tôi mất bao lâu để chạy?
- 20. Nginx # ngx_http_limit_req_module: Trong bao lâu là 503 trả lại một lần vượt quá tỷ lệ?
- 21. nên encodeURI bao giờ được sử dụng?
- 22. Mã thông báo "nhớ tôi" phải là bao lâu?
- 23. Lập chỉ mục trong mongoid: khi nào và bao lâu tôi nên chạy rake db: mongoid: create_indexes?
- 24. Khi nào tôi nên sử dụng stdClass và khi nào tôi nên sử dụng một mảng trong mã php oo?
- 25. Tôi nên sử dụng phương pháp nào cho C# scripting
- 26. Các tiện ích mở rộng của Chrome tự động cập nhật bao lâu một lần?
- 27. Tôi có nên chỉ định 'ảo' một lần nữa khi tôi ghi đè hàm C++ không?
- 28. Mã kéo dài bao lâu?
- 29. Khi nào tôi nên sử dụng một CompiledQuery?
- 30. Bạn giữ cookie phiên trong bao lâu?
Bạn hỏi ý kiến. Từ quan điểm của tôi nếu xem, bạn nên sử dụng nó thường xuyên nhất có thể. Ai đó có thể có những suy nghĩ khác nhau. –
@GeorgeSovetov Vấn đề là 'ý kiến' là không có chủ đề ở đây (_primarily ý kiến dựa trên category_). – edmz
Sớm và thường xuyên. Và hai lần vào Chủ Nhật. – wally