我在C ++类中定义了一个全局变量,如下所示:
std::string VAR = "HELLO_WORLD";
但是cpplint告诉我:
不允许使用静态/全局字符串变量。 [运行/串] [4]
你知道为什么吗?
答案 0 :(得分:5)
基本上,虽然您使用的静态分析器禁止这样做,因为std::string
包含构造函数,因此该语句实际上“做了某些事情”。
因此,它需要在函数内部,而不是在全局范围内。
另一方面,
const char* VAR = "HELLO_WORLD";
发出,因为这只不过是将只读const char[]
文字赋值给适当的指针。