永发信息网

c++ char自己设置长度。如果长度不够超过了。char会自动补上吗? string它自己判断长度会有什么不便的吗

答案:4  悬赏:40  手机版
解决时间 2021-11-12 02:22
c++ char自己设置长度。如果长度不够超过了。char会自动补上吗? string它自己判断长度会有什么不便的吗
最佳答案
c++ char自己设置长度。如果长度不够超过了char会自动补上。
    char定义的是一个半角字符。
    char[]定义的是一个不定长的数组,实际上是指针,用前要初始化。不过某些编程环境可能会根据情况自动帮你初始化到足够的。
    char[10]定义的是一个10个字串的字符数组,这个长度已定死不能增长。如果给它填值时超过这个数组的范围,有可能编程环境会报错,中止编译,也有可能并不报错,而是在运行过程中出现错误(一般都是程序僵死,或报内存出错)。
    string实际上是char指针,它由系统自动的进行长度的管理,在运行过程中自动分配,自动收回内存。在当前它自已判断长度很安全,很方便。
    或许你要问了,有那么好的string,为什么还要char[10]?个人的理解给你吧:来个类比,照像机知道吧,如果只有string没有char[10],那是傻瓜相机,一切系统都给你设定好了,你要做的就是按下快门。如果只有char[10],没有string,那是手动相机,一切都得你自个去设定,会好累。
    举个小例,要把一个长长字符串中的所有A全换成B,用string去做就很累,要一段一段分开来因为它总是操作整体,而用char[]就很快,只要一个一个字符看过去,是A就替成B。
全部回答
char哪有长度,只能存一个字符,string才能存放多个字符。
嗯。楼上说对了。C/C++没有string类型的。只有char(wchar_t)类型,前者是ASCII后者是Unicode。string是一个模板类来的,你不用他自己写也行,不过实际开发肯定用他,因为他在里面帮你处理了很多东西,例如内存释放,引用等的问题。
1、char定义的是一个半角字符。
2、char[]定义的是一个不定长的数组,实际上是指针,用前要初始化。不过某些编程环境可能会根据情况自动帮你初始化到足够的。
3、char[10]定义的是一个10个字串的字符数组,这个长度已定死不能增长。如果给它填值时超过这个数组的范围,有可能编程环境会报错,中止编译,也有可能并不报错,而是在运行过程中出现错误(一般都是程序僵死,或报内存出错)。
4、string实际上是char指针,它由系统自动的进行长度的管理,在运行过程中自动分配,自动收回内存。在当前它自已判断长度很安全,很方便。
5、或许你要问了,有那么好的string,为什么还要char[10]?个人的理解给你吧:来个类比,照像机知道吧,如果只有string没有char[10],那是傻瓜相机,一切系统都给你设定好了,你要做的就是按下快门。如果只有char[10],没有string,那是手动相机,一切都得你自个去设定,会好累。两者都有的,那才算是高大尚,呵呵。
6、举个小例,要把一一个长长字符串中的所有A全换成B,用string去做就很累,要一段一段分开来因为它总是操作整体,而用char[]就很快,只要一个一个字符看过去,是A就替成B。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
出国去文莱怎么样
一辆汽车从甲地出发到距离它420千米的乙地,
生物化学酶活力计算问题
Oppo手机浏览器有个新闻资讯,我也想像他们那
裁断机如何调整水平?
家有仙家想在家里安家请问有破解之法吗
求灵媒纪事txt全本 作者金明子
宏达通讯地址好找么,我有些事要过去,
误撞姻缘:首席权少智追萌妻
如何熬制由八角、香叶、葱、桂皮、油等的料油
高二进美术班 好不好 好不好考本科
bc图像唐筛数据都是女孩却生了男孩?
有谁知什么牌子的集成灶好
电脑右下任务栏的网络连接没有了怎么办
人存在于世上的意义是什么?求解答
推荐资讯
90版本毕业装备是哪些
空间8度量贩ktv地址在哪,我要去那里办事,
捷达车油耗一般多少.
公草龟除了晒太阳外要怎么养才能颜色变深一些
求个既不占cpu负荷、内存。又安全的安全软件
5吨燃气热水锅炉5吨指的是什么
如何运用离散系数判断平均数的代表性
联谊台球室地址有知道的么?有点事想过去!
DNF我短剑白手流星刺后为什么用不了流星跃?
交强险没过户,联系不到原车主怎么办.
给老师的一封信(谢谢您从一年级一直教我们到
我想问个河流流向的问题为什么在北半球由南向
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?