C++ string

   日期:2021-01-05     浏览:165    评论:0    
核心提示:C++ primer 76页定义和初始化 string 对象string s1 ; //默认初始化,s1是一个空字符串1)注意:该 string 对象是一个字符串,其中没有任何一个字符, ‘\0’ 也没有!2)字面值:比如字面值 “abcd”,其中是包含 5 个字符。因为末尾还有一个’\0’ 的空字符。所以,sizeof(“abcd”) 的结果是 5.3)如果写成string s2 = “abcd”;这样就只把除了空字符以外的字符,拷贝到了这个s2对象中.s2.length()

C++ primer 76页
定义和初始化 string 对象

string s1 ; //默认初始化,s1是一个空字符串

1)注意:
该 string 对象是一个字符串,其中没有任何一个字符, ‘\0’ 也没有!

2)字面值:比如字面值 “abcd”,其中是包含 5 个字符。因为末尾还有一个’\0’ 的空字符。
所以,sizeof(“abcd”) 的结果是 5.

3)如果写成
string s2 = “abcd”;
这样就只把除了空字符以外的字符,拷贝到了这个s2对象中.
s2.length() 或者 s2.size() 的结果就是 4,因为里面只有 4 个字符。

4)sizeof(s2)的结果是 28(在VS2017 x86的情况下)
这是和计算机硬件相关的,和具体的字符串对象无关。

5)如果写成 char[ ] ch= “abcd”,
那么 sizeof(ch)的结果是5.
因为上面是写成了 char[ ] ch = {‘a’,‘b’,‘c’,‘d’,’\0’};

6) strlen()函数
strlen(s2)函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个’\0’
若string str={‘a’,‘b’,‘c’,’\0’,‘X’};
那么sizeof(str)为 5,strlen(str)为 3

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服