Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在我的 C++ 类中定义了一个全局变量,如下所示:
std::string VAR = "HELLO_WORLD";
但是cpplint告诉我:
不允许使用静态/全局字符串变量。[运行时/字符串] [4]
你知道为什么吗?
本质上,尽管您使用的静态分析器禁止这样做,因为std::string它包含一个构造函数,因此该语句实际上“做了一些事情”。
std::string
因此它需要在函数内部,而不是在全局范围内。
另一方面,
const char* VAR = "HELLO_WORLD";
被发出,因为这只不过是将只读const char[]文字分配给适当的指针。
const char[]