我认为const char*表示一个可变指针,指向一个不可变字符串。
然而,当我执行以下操作时:
然而,当我执行以下操作时:
#include <iostream>
using namespace std;
const char *name1 = "Alex";
int main()
{
name1 = "John";
cout << name1 << endl;
}
程序只打印John,没有任何问题。我想知道为什么程序将name1视为字符串并使其可变?
std::string
的意思。指针是可变的。要创建一个常量指针,请使用const char * const name1 = "Alex";
。 - Eljay