string 類。它是一個非常強大的類,用於處理和操作字串。然而,因為字串實際上是字元序列,我們也可以用普通字元型別的陣列來表示它們。 |
|
char 型別元素的陣列。它可以表示為:
"Hello" 或序列 "Merry Christmas" 都可以儲存在 foo 中,因為它們都適合容量為 20 個字元的序列。'\0'(反斜槓,零)。foo 的、包含 20 個 char 型別元素的陣列,可以表示為儲存了 "Hello" 和 "Merry Christmas" 字元序列的樣子:
'\0') 來表示序列的結束。灰色面板代表值不確定的 char 元素。 |
|
char 型別元素的陣列,並用構成單詞 "Hello" 的字元以及末尾的一個空字元 '\0' 來初始化它。") 中來指定。例如: |
|
") 括起來的字元序列是字面常量。它們的型別實際上就是以空字元結尾的字元陣列。這意味著字串字面量的末尾總是會自動附加一個空字元 ('\0')。myword 的 char 元素陣列可以透過以下兩種語句中的任意一種來初始化為一個以空字元結尾的字元序列: |
|
myword 都被宣告為大小為 6 個 char 元素的陣列:構成單詞 "Hello" 的 5 個字元,外加一個最後的空字元 ('\0')。這個空字元指定了序列的結束,在第二種使用雙引號 (") 的情況下,它是自動附加的。myword 已經被如上宣告之後)像下面這樣的表示式: |
|
|
|
|
|
string 類),但以空字元結尾的普通字元序列陣列(C-風格字串)仍然是該語言中表示字串的一種自然方式;事實上,字串字面量仍然總是生成以空字元結尾的字元序列,而不是 string 物件。cin 和 cout 直接支援以空字元結尾的序列,允許它們像字串一樣直接從 cin 中提取或插入到 cout 中。例如: |
|
What is your name? Homer Where do you live? Greece Hello, Homer from Greece! |
cin 和 cout 結合使用時幾乎可以互換,但它們的宣告有一個顯著的區別:陣列具有固定大小,需要在宣告時顯式或隱式地指定;question1 的大小正好是 20 個字元(包括結尾的空字元),answer1 的大小是 80 個字元;而字串就是字串,沒有指定大小。這是因為字串具有在執行時確定的動態大小,而陣列的大小在編譯時、程式執行之前就已經確定了。string 的成員函式 c_str 或 data 轉換為以空字元結尾的字元序列: |
|
string 的 c_str 和 data 成員函式是等效的)陣列 | 目錄 | 指標 |