c ++最终常量字符串

Ver*_*gen 1 c++ pointers final const

在Java中,我们可以指定一个字符串final来声明'常量'.例如

static final String myConst = "Hello";
Run Code Online (Sandbox Code Playgroud)

这样在c ++中这样做的正确方法是什么?

const char * const myConst = "Hello";
Run Code Online (Sandbox Code Playgroud)

我一直看到人们这样做:

const char * myConst = "Hello";
Run Code Online (Sandbox Code Playgroud)

但实际上,您可以更改指针指向的内容.那么,为什么人们不将指针声明为常量呢?这样做的正确方法是什么?

Fre*_*son 12

const std::string myConst("Hello");
Run Code Online (Sandbox Code Playgroud)

  • +1表示与Java的String对象更准确的并行. (2认同)

asc*_*ler 5

是的,const char* const是声明不会更改的C风格字符串的正确方法.

或更好:

#include <string>
const std::string myConst = "Hello";
Run Code Online (Sandbox Code Playgroud)