我已经在C++中调试了一些程序,并且注意到了以下几个方面的不同:
char str[] = "It's a test";但是,当您在<string>头中使用字符串时,似乎有一个可变长度,例如,允许使用以下
string str1 = "abcdefg";
str1 = "abc";但这是不允许的:
char str[] = "It's a test";
str = "abc";恐怕行不通!这背后的实现是什么?
发布于 2015-01-25 13:24:40
您可以初始化一个数组,这是通过
char array[] = "some string literal";但是你不能分配给一个数组。这只是语言的规则。
std::string类对赋值运算符有一个特殊的重载,允许将它分配给它。
发布于 2015-01-25 17:41:35
您认为当您开始初始化字符数组时,当您使用它时,就不需要再次初始化了!但是现在不是你声明和初始化任何数组的true...every时间,当你再次使用它的时候,你必须再次使用它!例如:
char user[] = "sci3nt15t";
char user[] = "Ender";查看字符串和数组的定义对您有好处。
希望能帮上忙。
https://stackoverflow.com/questions/28136869
复制相似问题