C++ std :: string和string

Dan*_*nny 1 c++ string std stdstring

我不认为有人告诉我在使用std :: string和C++中的字符串数据类型之间的区别是什么?

在什么情况下应该在标准字符串上使用std :: string?

谢谢.

Eti*_*tel 9

它们都是同一类型.std::string指定命名空间,string只有在使用using namespace std;or using std::string语句时才有意义.所以你使用的东西没有任何区别(只要你一致).

如果你在谈论字符串文字(例如"hello"),那么它们就是类型const char [],它会隐含地衰减const char *.std::string有一个非explicit构造函数,它接受一个const char *,这允许隐式转换const char *std::string.可以使用该std::string::c_str()方法完成相反的操作 .

如果您正在寻找使用的理由std::string而不是const char *,那么我想我的回答将是"尽可能多".