การใช้static const
vars ดีกว่า#define
preprocessor หรือไม่ หรืออาจจะขึ้นอยู่กับบริบท
ข้อดี / ข้อเสียของแต่ละวิธีคืออะไร?
#define
หรือstatic const
(สตริง) คือการขับเคลื่อนด้วยการเริ่มต้นด้าน (มันไม่ได้กล่าวถึงผ่านคำตอบด้านล่าง): ถ้าคงถูกนำมาใช้ภายในหน่วยรวบรวมโดยเฉพาะอย่างยิ่งเท่านั้นแล้วฉันไปกับstatic const
การใช้งานผมอื่น#define
- หลีกเลี่ยงการสั่งซื้อแบบคงที่เริ่มต้นความล้มเหลว isocpp.org/wiki/faq/ctors#static-init-order
const
, constexpr
หรือenum
หรือรูปแบบการทำงานในกรณีของคุณแล้วชอบมันไป#define