C++ STL string的构造函数
首先是弄清下面的概念(下面這段是轉(zhuǎn)載的):
<string.h>
<string.h>是C版本的頭文件,包含比如strcpy、strcat之類的字符串處理函數(shù)。
<cstring>
在C++標(biāo)準(zhǔn)化(1998年)過程中,為了兼容以前,標(biāo)準(zhǔn)化組織將所有這些文件都進(jìn)行了新的定義,加入到了標(biāo)準(zhǔn)庫中,加入后的文件名就新增了一個"c"前綴并且去掉了.h的后綴名,所以string.h頭文件成了cstring頭文件。但是其實現(xiàn)卻是相同的或是兼容以前的,這就是<cstring>的來源,不要覺得又多了一個東西。相當(dāng)于標(biāo)準(zhǔn)庫組織給它蓋了個章,說“你也是我的標(biāo)準(zhǔn)程序庫的一份子了”。
<string>
<string>是C++標(biāo)準(zhǔn)定義的頭文件,它定義了一個string的字符串類,里面包含了string類的各種操作,如s.size(),?s.erase(),?s.insert()等。但<string>又包含了老的C版本的字符串操作如strcpy、strcat等,這就相當(dāng)于,在<string>的文件中除了定義自己的string類之外,還加了一個#include<string.h>一句包含了C版本的字符串操作。
?
沒有<cstring.h>這樣的頭文件。
? 版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得用于任何商業(yè)用途,轉(zhuǎn)載請注明出處。 http://blog.csdn.net/luoweifu/article/details/20242307下面是代碼部分
#include <iostream> #include <string> //要與c語言里面的#include <string.h>區(qū)分 using namespace std;int main(){string str; //無參數(shù)cout << str << endl;cout << str.empty() << endl;string str1(5, 'a');cout << str1 << endl;string str2("fadfadsf");cout << str2 << endl;string str3("abcdefg", 3);cout << str3 << endl;string str4(str2, 0,2);cout << str4 << endl;string str5(str2); //拷貝構(gòu)造cout << str5 << endl;system("pause");return 0; }運(yùn)行結(jié)果如下:
總結(jié)
以上是生活随笔為你收集整理的C++ STL string的构造函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt + Python + OpenCV
- 下一篇: Qt工作笔记-QML自定义圆形进度条(C