Có tốt hơn để sử dụng static const
vars hơn #define
tiền xử lý? Hoặc có thể nó phụ thuộc vào bối cảnh?
Ưu điểm / nhược điểm của từng phương pháp là gì?
#define
hay static const
(đối với chuỗi) được điều khiển bởi khía cạnh khởi tạo (nó không được đề cập qua các câu trả lời bên dưới): nếu hằng số chỉ được sử dụng trong đơn vị biên dịch cụ thể, thì tôi sẽ static const
sử dụng #define
- tránh sử dụng fiasco khởi tạo thứ tự tĩnh isocpp.org/wiki/faq/ctors#static-init-order
const
, constexpr
hoặc enum
bất kỳ biến thể nào hoạt động trong trường hợp của bạn, thì hãy thích nó hơn#define