Bạn có thay thếTôi có nên thay thế 'const int' bằng 'constexpr int' trong C++ 11 bất cứ khi nào có thể không?
const int one = 1;
const int two = 2;
bằng cách này?
constexpr int one = 1;
constexpr int two = 2;
Sự hiểu biết của tôi có chính xác là cả hai khối đều giống hệt về mặt ngữ nghĩa và hiện tại chỉ là vấn đề về hương vị?
Mặt khác, như constexpr
ngụ ý const
, bạn có thể cho rằng phù hợp hơn để luôn thích hình thức hạn chế hơn, ngay cả trong những tình huống nhỏ mà nó không tạo sự khác biệt?
(Tôi hiểu rằng tình hình hoàn toàn thay đổi khi biểu thức ở bên phải được phép phức tạp hơn. Vì vậy, để làm rõ, câu hỏi chỉ tập trung vào trường hợp đơn giản nhất mà biểu thức là số nguyên cố định.)
Điều duy nhất tôi có thể nghĩ là nếu bạn chỉ định một cái gì đó giống như API, bạn có thể quyết định sử dụng 'const int' để lưu trữ một biểu thức liên tục vì thuộc tính đó có thể không giữ trong các bản sửa đổi trong tương lai. – Pubby