標準庫string物件的定義和初始化

2021-06-19 03:21:26 字數 1037 閱讀 5005

string物件的定義和初始化:

string標準庫支援幾個建構函式.建構函式是乙個特殊成員函式,定義如何初始化該型別的物件.

下面列出幾個string型別常用的建構函式.當沒有明確指定物件初始化式時,系統將使用預設建構函式:

string s1; //預設建構函式,s1為空串

string s2(s1); //將s2初始化為s1的乙個副本

string s3("value");  //將s3初始化為乙個字串字面值常量

string s4(n,'c');   //將s4初始化為字元'c'的n個副本 

警告:標準庫string型別和字串字面值

因為歷史原因以及為了與c語言相容,字串字面值與標準庫string型別不是同一種型別.這一點很容易引起混亂,程式設計時一定要注意區分字串字面值和string資料型別的使用,這很重要.

string是stl中的類模板,c++的字串字面值的型別是const char[n],兩者不是一回事。

string是stl模板裡面的  使用vector來編寫的  char*是以'\0'結尾 但是string不是的

string裡隱含了個char *指標,這個指標指向真正存放字串字面值的記憶體位址。

習題:3.21什麼是預設建構函式?

預設建構函式就是在沒有顯式初始化式時呼叫的建構函式.它由不帶引數的建構函式,或者為所有形參提供預設實參的建構函式定義.如果定義某個類的變數時沒有提供初始化式,就會使用預設建構函式.如果使用者使用的類中沒有顯式定義任何建構函式,編譯器就會自動為該類生成預設建構函式,稱為合成的預設建構函式.

3.22列舉出三種初始化string物件的方法.

1.不帶初始化式,使用預設建構函式初始化string物件.

2.使用乙個已存在的string物件作為初始化式,將新建立的string物件初始化為已存在物件的副本.

3.使用字串字面值作為初始化式,將新建立的string物件初始化為字串字面值的副本.

3.23s和s2的值分別是什麼?

string s;

int main()

s和s2均為空字串.

標準庫String型別

1 string物件的讀寫 用iostream標準庫可以用於讀寫內建型別如int double等的值,同樣也可以用iostream和string標準庫,使用輸入輸出操作符來讀寫string物件 注 從標準輸入讀取string,並將讀入的串儲存在s中。string型別的輸入操作符 另外還有乙個有用的s...

標準庫 string 型別

從標準輸入讀取 string 並將讀入的串儲存在 s 中。string 型別的輸入操作符 讀取並忽略開頭所有的空白字元 如空格,換行符,製表符 讀取字元直至再次遇到空白字元,讀取終止。輸入 hello world 則螢幕上將輸出 hello 而不含任何空格。這個函式接受兩個引數 乙個輸入流物件和乙個...

標準庫型別string

include using namespace std string定義在命名空間std中文件 string標準庫 string是乙個內部定義的類,初始化類物件的方式是通過類內部定義的構造方法決定的。下面列出幾個string常用的初始化方式 string s1 預設的初始化方式,s1是乙個空串 st...