首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++中字符串的动态长度

问C++中字符串的动态长度
EN

Stack Overflow用户
提问于 2015-01-25 13:20:57
回答 2查看 2.7K关注 0票数 3

我已经在C++中调试了一些程序,并且注意到了以下几个方面的不同:

代码语言:javascript
复制
char str[] = "It's a test";

但是,当您在<string>头中使用字符串时,似乎有一个可变长度,例如,允许使用以下

代码语言:javascript
复制
string str1 = "abcdefg";
str1 = "abc";

但这是不允许的:

代码语言:javascript
复制
char str[] = "It's a test";
str = "abc";

恐怕行不通!这背后的实现是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-25 13:24:40

您可以初始化一个数组,这是通过

代码语言:javascript
复制
char array[] = "some string literal";

但是你不能分配给一个数组。这只是语言的规则。

std::string类对赋值运算符有一个特殊的重载,允许将它分配给它。

票数 9
EN

Stack Overflow用户

发布于 2015-01-25 17:41:35

您认为当您开始初始化字符数组时,当您使用它时,就不需要再次初始化了!但是现在不是你声明和初始化任何数组的true...every时间,当你再次使用它的时候,你必须再次使用它!例如:

代码语言:javascript
复制
char user[] = "sci3nt15t";
char user[] = "Ender";

查看字符串和数组的定义对您有好处。

希望能帮上忙。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28136869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档