我在C++类中定义了一个全局变量,如下所示:
std::string VAR = "HELLO_WORLD";
Run Code Online (Sandbox Code Playgroud)
但是cpplint告诉我:
不允许使用静态/全局字符串变量.[runtime/string] [4]
你知道为什么吗?
基本上,虽然你使用的静态分析器禁止这个,因为std::string
包含一个构造函数,所以语句实际上"做了一些事情".
因此,它需要在函数内部,而不是在全局范围内.
另一方面,
const char* VAR = "HELLO_WORLD";
Run Code Online (Sandbox Code Playgroud)
发出,因为这只不过是将只读const char[]
文字赋值给适当的指针.
归档时间: |
|
查看次数: |
1283 次 |
最近记录: |