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
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/244199.html
標籤:其他
上一篇:C和C++區別以及編程范式
下一篇:國王游戲(貪心)
