C++ 系統(tǒng)String類詳解
更新時間:2021年11月01日 11:15:30 作者:ALL IN C
這篇文章主要介紹了C++的系統(tǒng)String類,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
一、C++ 系統(tǒng)String類
除了使用字符數(shù)組來處理字符串以外,c++引入了字符串類型??梢远x字符串變量。
1.定義及初始化
#include <iostream> #include <string.h> using namespace std; int main() { string str; str = "china"; string str2 = " is great "; string str3 = str2; cout<<str<<str2<<endl<<str3<<endl; return 0; }
2.類型大小
cout<<"sizeof(string) = "<<sizeof(string)<<endl; cout<<"sizeof(str) = "<<sizeof(str)<<endl;
3.常用運算
1.賦值
string str3 = str
2.加法
string combine = str + str2; cout<<combine<<endl;
3.關系
#include <iostream> #include <string.h> using namespace std; int main() { string s1 = "abcdeg"; string s2 = "12345"; if(s1>s2) cout<<"s1>s2"<<endl; else cout<<"s1<s2"<<endl; string s3 = s1+s2; cout<<s3<<endl; return 0; }
4.常見的成員函數(shù)
1.下標操作
char & operator[](int n) ;
2.求串大小
int size();
3.返回c串(c語言中的字符串也叫c串)
char *c_str();
4.查找
int find(char c, int pos = 0); int find(char * s, int pos = 0); //返回下標值,沒有找到返回-1,默認從 0 下標開
5.刪除
string &erase(int idx=0,int n = npos); //作用是刪除從 idx 開始,往后數(shù) n 位的字符串
6.交換swap
void swap(stirng &s2);
5.string類型數(shù)組
#include <iostream> #include <string.h> using namespace std; int main() { string sArray[10] = { "0", "1", "22", "333", "4444", "55555", "666666", "7777777", "88888888", "999999999", }; for(int i=0; i<10; i++) { cout<<sArray[i]<<endl; } return 0; }
string 數(shù)組是高效的,如果用二維數(shù)組來存入字符串數(shù)組的話,則容易浪費空間,此時列數(shù)是由最長的字符串決定。如果用二級指針申請堆空間,依據(jù)大小申請相應的空間,雖然解決了內存浪費的問題,但是操作麻煩。用 string 數(shù)組存儲,字符串數(shù)組的話,效率即高又靈活。
總結
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!
相關文章
C++使用WideCharToMultiByte函數(shù)生成UTF-8編碼文件的方法
用來映射Unicode字符串的WideCharToMultiByte函數(shù)經常被用來進行UTF-8編碼的轉換,以下我們將看到C++使用WideCharToMultiByte函數(shù)生成UTF-8編碼文件的方法,首先先來對WideCharToMultiByte作一個詳細的了解:2016-06-06C++ Boost PointerContainer智能指針詳解
智能指針是一種像指針的C++對象,但它能夠在對象不使用的時候自己銷毀掉。雖然STL提供了auto_ptr,但是由于不能同容器一起使用(不支持拷貝和賦值操作),因此很少有人使用。它是Boost各組件中,應用最為廣泛的一個2022-11-11