问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c++ 中 string 类型变量用下标方式初始化为什么出错?

发布网友 发布时间:2022-04-25 18:52

我来回答

4个回答

热心网友 时间:2023-10-08 14:13

string是可以使用下标赋值的,只是你赋给list的值有问题啊,list[0]=0,而string也是以'\0'代表字符串结束,所以你这个字符串会被认为是个空串,当然输出是什么都没有的。另外头文件也得包含
#include <string>追问string list;
char p='c';
for(int i=1;i<5;i++)
{
// list[i]=p; //这样也是报错。
// list.push_back(p); //这样是可以的。
}
cout<<list<<endl;
return 0;
}

追答呵呵,昨天没注意到,你的string list是个默认构造函数,这样就没有为list分配空间,自然list[i]就会报出超出string范围的错误,可以简单更改为string list(6, '\0'),事先为list指定一个大小。

热心网友 时间:2023-10-08 14:14

因为对string下标赋值,和数组一样,下标不能超过string的长度,你定义的string list,只是一个空串,也就是长度为0,你用任何的下标都会超过长度,所以会运行崩溃的!

热心网友 时间:2023-10-08 14:14

你好像头文件就没有包括string,最主要,c++中string是类,你建的list是对象,在c语言中字符串才是用字符数组操作的追问漏打了,是带有string的头文件的

热心网友 时间:2023-10-08 14:15

额。。你给string初始化下就行了。比如:list = "sdfdfs";
因为string的大小是动态的。开始你说它有多大?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
抖音弹幕怎么关掉?怎么关闭抖音弹幕? 惠普LaserJet P3005D是否支持B5纸的双面打印? word打印出图片总是缺一部分怎么办-word打印图片不完整怎么解决_百度... 理想one哪里产的车辆? 抚州抚州ONE在哪里? one地址在哪里? 如何在图片上写字(如何在图片上添加文字) 网商贷为什么钱没到账 高级经济师职称怎么评 高级经济师需要评审吗 21世纪的药物化学应如何发展 c++,类成员,string类型数组的初始化问题 医药研究中的靶点是什么意思 中国科研团队发现治疗抑郁症的新靶标,抑郁症真的可以被治愈吗? C代码中初始化一个字符串 什么是新药简述新药研发的步骤 c 字符串初始化 谢建平的科研主要方向 C++ string 初始赋值用char[]会乱码 中国科研团队发现治疗抑郁症的新靶标,抑郁症的危害是什么? 在化学上,什么叫做靶标 关于C++ String 指针初始化问题 基于靶标的新药的研发过程是什么? c++的string类初始化问题?? 怎样获得一个好的药物靶点?What makes a good drug target 关于C++中的string初始化问题 药物靶标的介绍 excel识别重复值以后筛选出重复值 最近在B站看视频缓冲特别慢,是我个人问题么 B站视频只能看一小段,后面的就一直缓存不了了,有谁知道原因吗? 为什么新冠病毒比任何一次流感病毒感染更容易传播?现实更为严峻? C语言?:语句中的字符串该怎么初始化定义? 双卡手机如果只用一个手机号给对方打电话对方会不会知道另一个号码比如把对方的手机号存到通话录里? 必须基因包括 Drug Design, Development and Therapy影响因子多少? C语言中字符串初始化问题 c++怎么字符串初始化? C语言中有string吗? 什么是分子靶标 java中string类型变量的默认初始值是什么? 什么是药物的靶点? c语言字符串对字符数组初始化 怎么样发电子邮件? c语言 如何将已赋值的字符串初始化为空? 怎么发电子邮件啊 ~~??? 怎么发邮件啊? 蒸米饭降压多久后能好 蒸米饭怎么蒸 米饭有几种蒸法. 在javascript 中,有多少种不同类型的循环