C++ 更常用 string 还是 char* 呢？
如题，C++ 是否提倡 std::string 全面替代 char* 呢？
能用 const char * 的场合。建议就不要用 char *。

实际上大多数平凡的字符串用途都可以用 const char * 的。例如字符串文字量用这个来保存。

这个地方的 const 并不是自找麻烦，而是因为字符串文字量的数据类型就是 const char * 而不是char*，用后者就会涉及强制类型转换，而且你有可能不慎修改常量区数据导致程序崩掉。

注意 const char * 是一个 **变量** ，是一个指向字符串文字量的 **变量**。它可以修改并指向不同的字符串文字量。如果你习惯用一些高级语言，应该知道很多高级语言的字符串不可写，他们的字符串实质上就相当于const char *

另外有一部分静态存储性的用途可以用 char [] 字符数组解决。

剩下的非平凡，必须用 char * 的用途，一般是必须动态分配，必须改写数据的场合，那 C++ 用字符串类肯定更多。除非你是在写字符串内部的算法。