我想在cpp文件的多个位置使用字符串常量。我应该使用std :: string还是char []?
static const std::string kConstantString = "ConstantStringValue";
static const char kConstantString[] = "ConstantStringValue";
有人告诉我更喜欢后者,因为它“避免了静态分配”。char数组也不必静态分配吗?
是的,是的,它也必须静态分配。
std::string
除非您的分析器告诉您,值得像那样的遗忘废话,否则请务必使用const char[]
。选择const char[]
是一个烦人的微优化过程,std::string
也是一个愚蠢的决定,除非您确定该代码段是热路径(因为无论哪种方式都是静态的,我都对此表示高度怀疑)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句