C++標(biāo)準(zhǔn)庫(kù)
1.C++標(biāo)準(zhǔn)并不是C++語(yǔ)言的一部分
2.C++標(biāo)準(zhǔn)庫(kù)是由類(lèi)庫(kù)和函數(shù)庫(kù)組成的集合
3.C++標(biāo)準(zhǔn)庫(kù)中定義的類(lèi)和對(duì)象位于std命名空間中
4.C++標(biāo)準(zhǔn)庫(kù)的頭文件都不帶.h后綴
5.C++標(biāo)準(zhǔn)庫(kù)涵蓋了C庫(kù)的功能
C++編譯環(huán)境的組成
C++標(biāo)準(zhǔn)庫(kù)預(yù)定義了多數(shù)常用的數(shù)據(jù)結(jié)構(gòu)
代碼示例
為安次等地區(qū)用戶(hù)提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及安次網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站制作、網(wǎng)站建設(shè)、安次網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶(hù)提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶(hù)的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
Q:C語(yǔ)言存在的問(wèn)題
1.C語(yǔ)言不支持真正意義上的字符串
2.C語(yǔ)言用字符數(shù)組和一組函數(shù)實(shí)現(xiàn)字符串操作
3.C語(yǔ)言不支持自定義類(lèi)型,因此無(wú)法獲得字符串類(lèi)型
解決方法
1.從C到C++的進(jìn)化過(guò)程引入了自定義類(lèi)型
2.在C++中可以通過(guò)類(lèi)完成字符串類(lèi)型的定義
標(biāo)準(zhǔn)庫(kù)中的字符串類(lèi)
1.C++語(yǔ)言直接支持C語(yǔ)言的所有概念
2.C++語(yǔ)言中沒(méi)有原生的字符串類(lèi)型
3.C++標(biāo)準(zhǔn)庫(kù)提供了string類(lèi)型(直接支持字符串連接,支持字符串的大小比較,支持子串查找和提取,支持字符串的插入和替換)
字符串按大小排列(按照字典)與一連串的排列代碼示例
#include <iostream>
#include <string>
using namespace std;
void string_sort(string a[], int len)//大小排列
{
for(int i=0; i<len; i++)
{
for(int j=i; j<len; j++)
{
if( a[i] > a[j] )//字符串大小比較
{
swap(a[i], a[j]);
}
}
}
}
string string_add(string a[], int len)//添加
{
string ret = "";
for(int i=0; i<len; i++)
{
ret += a[i] + "; ";
}
return ret;
}
int main()
{
string sa[7] =
{
"Hello World",
"D.T.Software",
"C#",
"Java",
"C++",
"Python",
"TypeScript"
};
string_sort(sa, 7);
for(int i=0; i<7; i++)
{
cout << sa[i] << endl;
}
cout << endl;
cout << string_add(sa, 7) << endl;
return 0;
}
運(yùn)行結(jié)果如圖所示
1為大小排列的結(jié)果,2為一串排列的結(jié)果
題目分析:字符串循環(huán)右移
示例:abcdefg循環(huán)右移3位得到efgabcd
分析:1.先找到所需移位字符串的位置 2循環(huán)經(jīng)過(guò)一定的次數(shù)會(huì)重復(fù)
#include <iostream>
#include <string>
using namespace std;
string operator >> (const string& s, unsigned int n)
{
string ret = "";
unsigned int pos = 0;
n = n % s.length();//長(zhǎng)度與循環(huán)次數(shù)取余
pos = s.length() - n;//確定循環(huán)的位置
ret = s.substr(pos);//找到位置
ret += s.substr(0, pos);//將循環(huán)位置的前面的字符串添加到該點(diǎn)后面
return ret;
}
int main()
{
string s = "abcdefg";
string r = (s >> 3);
cout << r << endl;
return 0;
}
運(yùn)行的結(jié)果如圖所示
小結(jié)
1.應(yīng)用開(kāi)發(fā)中大多數(shù)的情況都在進(jìn)行字符串處理
2.C++中沒(méi)有直接原生的字符串類(lèi)型
3.標(biāo)準(zhǔn)庫(kù)中通過(guò)string類(lèi)支持字符串的概念
4.string類(lèi)支持字符串和數(shù)字的相互轉(zhuǎn)換
5.string類(lèi)的應(yīng)用使得問(wèn)題的求解變得簡(jiǎn)單
文章題目:C++--標(biāo)準(zhǔn)庫(kù)字符串類(lèi)
當(dāng)前URL:http://chinadenli.net/article44/gesihe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、品牌網(wǎng)站建設(shè)、域名注冊(cè)、自適應(yīng)網(wǎng)站、靜態(tài)網(wǎng)站、小程序開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)