string類的常用介面
(1)string類物件的常見構造
#include
#include
using
namespace std;
intmain()
(2)string類物件的容量操作
#include
#include
using
namespace std;
//size/length/capacity/clear/resize
void
test_string_1()
//reserve
void
test_string_2()
//用reserve提高插入效率,避免增容帶來的開銷
//有開銷
void
test_pushback()
} cout<}//無開銷
void
test_pushback_reserve()
} cout<}int
main()
(3)string類物件的訪問及遍歷操作
#include
#include
using
namespace std;
void
test_string_1()
void
test_string_2()
cout/迭代器
string::iterator it = s.
begin()
;while
(it != s.
end())
cout
rbegin()
;while
(rit != s.
rend()
) cout/範圍for:c++11
for(
auto ch : s)
cout<}int
main()
(4)string類物件的修改操作
#include
#include
using
namespace std;
intmain()
start +=3
; size_t end = url.
find
('/'
, start)
; string address = url.
substr
(start, end - start)
; cout/刪除url的協議字首
size_t del = url.
find
("://");
url.
erase(0
, pos +3)
; cout
}
(5)string類非成員函式
幾個例子
(1)翻轉字串
#include
using
namespace std;
string reversestring
(string s)
size_t start =0;
size_t end = s.
size()
-1;while
(start < end)
return s;
}int
main()
(2)找字串中第乙個只出現一次的字元
#include
using
namespace std;
intfirstuniqchar
(string s)
int count[
256]=;
for(
int i =
0; i < s.
size()
;++i)
for(
int i =
0; i < s.
size()
;++i)
}return-1
;}intmain()
}
(3)字串裡最後乙個字元長度
#include
using
namespace std;
void
lastwordlength()
}int
main()
C string類常用介面
string s1 構造空的string類物件s1 string s2 hello 用c格式字串構造string類物件s2 string s3 s2 拷貝構造s3s.size 返回字串有效字元長度 s.capacity 返回總空間大小 s.empty 判斷字串是否為空,為空返回true s.clea...
C String類介面的實現
對c string庫部分介面的實現,通過介面間的復用,使個個介面緊密聯絡,更加簡潔。重要介面expand 通過檢測當前物件容量是否滿足要求,對物件進行擴容等操作。此次實現string全部使用的是深拷貝。include include include includeusing namespace st...
C string類常用函式
string類的建構函式 string const char s 用c字串s初始化 string int n,char c 用n個字元c初始化 此外,string類還支援預設建構函式和複製建構函式,如string s1 string s2 hello 都是正確的寫法。當構造的string太長而無法表...