我在代码中看到了这两种风格,但不确定哪种更好(它只是一种风格问题吗)?您是否有任何建议,为什么会选择其中一种而不是另一种。
//Example1
class Test {
private:
static const char* const str;
};
const char* const Test::str = "mystr";
//Example2
class Test {
private:
static const std::string str;
};
const std::string Test::str ="mystr";
std::string
! - the_mandrillstd :: string const&safe_string_const(){std :: string static const var ="const";返回var;}
- Andriy Tylychkostatic
放在类型前面。它是一个存储类别说明符(例如extern
或者(对于成员)mutable
),不是一个 cv-限定符(const
和volatile
)。所以int static i = 0;
确实可以编译,但是int* static p = 0;
就不行了。(好吧,int static* p
可以,但是请写成static int* p
。非常感谢。) - gx_