老規矩–妹妹鎮樓:
c++標準庫定義了一種string類,定義在標頭檔案 string 中。
1.char是乙個指標,string是乙個類string封裝了char,管理這個字串,是乙個char*型的容器。
2.string封裝了很多實用的成員方法查詢find,拷貝copy,刪除delete 替換replace,插入insert
3.不用考慮記憶體釋放和越界 string管理char*所分配的記憶體。每一次string的複製,取值都由string類負責維護,不用擔心複製越界和取值越界等。
1. string的建構函式
string()
;//建立乙個空的字串 例如: string str;
string
(const string& str)
;//使用乙個string物件初始化另乙個string物件
string
(const
char
* s)
;//使用字串s初始化
string
(int n,
char c)
;//使用n個字元c初始化
2. string的基本賦值操作
string&
operator=(
const
char
* s)
;//char*型別字串 賦值給當前的字串
string&
operator=(
const string &s)
;//把字串s賦給當前的字串
string&
operator=(
char c)
;//字元賦值給當前的字串
string&
assign
(const
char
*s);
//把字串s賦給當前的字串
string&
assign
(const
char
*s,int n)
;//把字串s的前n個字元賦給當前的字串
string&
assign
(const string &s)
;//把字串s賦給當前字串
string&
assign
(int n,
char c)
;//用n個字元c賦給當前字串
string&
assign
(const string &s,
int start,
int n)
;//將s從start開始n個字元賦值給字串
3. string訪問字元操作當訪問越界時,會直接掛掉,at會丟擲異常。
char
&operator
(int n)
;//通過方式取字元
char&at
(int n)
;//通過at方法獲取字元
4. string拼接操作
string&
operator+=
(const string& str)
;//過載+=操作符
string&
operator+=
(const
char
* str)
;//過載+=操作符
string&
operator+=
(const
char c)
;//過載+=操作符
string&
(const
char
*s);
//把字串s連線到當前字串結尾
string&
(const
char
*s,int n)
;//把字串s的前n個字元連線到當前字串結尾
string&
(const string &s)
;//同operator+=()
string&
(const string &s,
int pos,
int n)
;//把字串s中從pos開始的n個字元連線到當前字串結尾
string&
(int n,
char c)
;//在當前字串結尾新增n個字元
5. string查詢和替換
int
find
(const string& str,
int pos =0)
const
;//查詢str第一次出現位置,從pos開始查詢
intfind
(const
char
* s,
int pos =0)
const
;//查詢s第一次出現位置,從pos開始查詢
intfind
(const
char
* s,
int pos,
int n)
const
;//從pos位置查詢s的前n個字元第一次位置
intfind
(const
char c,
int pos =0)
const
;//查詢字元c第一次出現位置
intrfind
(const string& str,
int pos = npos)
const
;//查詢str最後一次位置,從pos開始查詢
intrfind
(const
char
* s,
int pos = npos)
const
;//查詢s最後一次出現位置,從pos開始查詢
intrfind
(const
char
* s,
int pos,
int n)
const
;//從pos查詢s的前n個字元最後一次位置
intrfind
(const
char c,
int pos =0)
const
;//查詢字元c最後一次出現位置
string&
replace
(int pos,
int n,
const string& str)
;//替換從pos開始n個字元為字串str
string&
replace
(int pos,
int n,
const
char
* s)
;//替換從pos開始的n個字元為字串s
6. string比較操作compare函式在》時返回 1,《時返回 -1,==時返回 0。比較區分大小寫,比較時參考字典順序,排越前面的越小。大寫的a比小寫的a小。
int
compare
(const string &s)
const
;//與字串s比較
intcompare
(const
char
*s)const
;//與字串s比較
7. string子串
string substr
(int pos =0,
int n = npos)
const
;//返回由pos開始的n個字元組成的字串
8. string插入和刪除操作
string&
insert
(int pos,
const
char
* s)
;//插入字串
string&
insert
(int pos,
const string& str)
;//插入字串
string&
insert
(int pos,
int n,
char c)
;//在指定位置插入n個字元c
string&
erase
(int pos,
int n = npos)
;//刪除從pos開始的n個字元
9. string和c風格字串的轉換在c++中存在乙個從const char*到string的隱式型別轉換,卻不存在從乙個string物件到c_string的自動型別轉換。對於string型別的字串,可以通過c_str()函式返回string物件對應的c_string.
//string 轉 char*
string str =
"itcast"
;const
char
* cstr = str.
c_str()
;//char* 轉 string
char
* s =
"itcast"
;string str
(s);
C 學習(二十九)內聯inline
內聯函式適用能夠快速執行的函式,此時使用內聯省去了函式的呼叫開銷。內聯函式像巨集一樣都是在編譯期展開,內嵌到呼叫處。inline省去普通函式的壓棧和call,以空間換時間,僅僅省去了函式呼叫的開銷 當函式體比較小的時候,內聯該函式可以令目標 更加高效.對於訪問函式以及其它函式體比較短,效能關鍵的函式...
二十九 CSS之浮動float
css定位機制 1.普通流 標準流 2.浮動 3.絕對定位 一 普通流 預設狀態,元素自動從左往右或者從上往下 塊元素 1.獨佔一行 2.可以設定寬 高 3.如果不設定寬,預設為容器的100 4.常見的塊級元素標籤 div p h1 h6 ul ol li dl dt dd 行內元素 1.與其他元素...
Swift學習筆記(二十九) 函式的使用1
1 引數型別為可選型optional.如果引數為空,則輸出?後面的字串,否則輸出可選型的引數值。import foundation func sayhello name string?string var nickname string?nickname jack println sayhello ...