C++中用string定义的数组默认值是多少?

比如用int定义的数组默认值是0,但string定义的不知道是什么... 比如用int定义的数组默认值是0,但string定义的不知道是什么 展开
 我来答
风若远去何人留
2015-12-22 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450110
专业C/C++软件开发

向TA提问 私信TA
展开全部
默认值为空。

C++中,string并不是系统类型,而是STL中的类。
string类数组,在没有初始化情况下,与定义单个的string变量,同时不做初始化相同,都是调用string类的无参构造。
这种情况下,string类对象为空,不包含任何数据。求str_len和size均为0.
rui_xing_
2015-12-09 · 知道合伙人教育行家
rui_xing_
知道合伙人教育行家
采纳数:6306 获赞数:51260
在读博士研究生

向TA提问 私信TA
展开全部
VC6会自动填充OxCC。
其他开发环境下默认值与系统有关。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Fixend
2006-12-27 · TA获得超过1978个赞
知道小有建树答主
回答量:710
采纳率:0%
帮助的人:1040万
展开全部
楼上的都错了,你定义一个数组,系统会对数组分配空间,并对每一个成员调用默认的构造函数。

比如:
string array[10];
那么系统会在栈中分配sizeof(string) * 10这么多byte,然后是
array[0].string();
array[1].string();
//......
一个个调用。结果是每一个数组成员都是一个string对象,不是NULL.

用new的话,是差不多的,只不过是分配的地方改为堆。
string *array = new string[10];
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2f1730336
2006-12-27 · TA获得超过911个赞
知道小有建树答主
回答量:1316
采纳率:0%
帮助的人:1055万
展开全部
null
也就是空了,而不是""……
C#也一样的……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
寂之辰
2006-12-27 · 超过19用户采纳过TA的回答
知道答主
回答量:133
采纳率:0%
帮助的人:76.7万
展开全部
是空。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式