表示可變長的字串行,使用string型別前必須首先包含string標頭檔案
string a1; //預設初始化**演示:string a2(a1); //a2是a1的副本
string a3=a1; //等價於a3(a1),a3是a1的副本
string a4("hello world"); //a4是字面值"hello world"的副本
string a5="hello world"; //等價於a5("hello world")
string a6(n,'c'); //把a6初始化為由連續n個字元c組成的串
#includeusing namespace std;
#includeint main()
os<>s; //從is中讀取字串賦給s,字串以空白1分割,返回iseg:輸入「hello world」;則讀取的為hello,而空格後的world則被忽略getline(is,s); //從is中讀取一行賦給s,返回is
s.empty() //s為空返回true,否則返回false
s.size(); //返回s中字元的個數
s[n]; //返回s中第n個字元的引用,位置n從0記起
s1+s2; //返回s1和s2連線後的結果
s1=s2 //用s2的副本代替s1中原來的字元
s1==s2 //判斷s1和s2是否完全相等
s1!=s2 //判斷s1和s2是否不相等
<,<=,>,>= 利用字典中的順序進行比較
此時可以用getline讀取。
size的返回值是乙個string::size_type型別的值,他是乙個無符號型別的值,而且足夠存放下任何string物件的大小。c++11中允許用auto或者decltype來推斷變數的型別
auto len =line.size(); //len的型別是string::size_type
由於size函式返回的是乙個無符號的整型,假設n是乙個負值的int,則len注:如果一條表示式中已經有了size()函式就不要使用int了,這樣可以避免int和unsugned可能帶來的問題
必須確保每個加法運算子(+)的兩側的運算物件至少有乙個時string當有多個加號時,他的工作機理和連續輸入連續輸出是一樣的string a1 = "hello";
string a2=a1+" sdsa"; //正確,一條語句中至少有乙個string型別
string a3 = "asda"+"asds" //錯誤,沒有string型別
string a4 = a1+"hello"+"world" //正確
string a5="hello"+"world"+a1; //錯誤
a4可以變為a4=(a1+"hello")+"world";
第乙個擴號仍然正確
a5可以變為a5=("hello"+"world")+a1;
第乙個擴號內無string型別,所以不正確
isalnum(c) //當c是字母或者數字時為真使用for語句處理string字串isalpha(c) //當c是字母時為真
iscntrl(c) //當c是控制字母時為真
isdigit(c) //當c是數字時為真
isgraph(c) //當c不是空格但可以列印時為真
islower(c) //當c是小寫字母時為真
isprint(c) //當c是可列印字元時為真
ispunct(c) //當c是標點符號時為真
isspace(c) //當c是空白時為真
isupper(c) //當c是大寫字母時為真
isxdigit(c) //當c是十六進製制數字時為真
tolower(c) //如果c是大寫字母,輸出對應的小寫字母;否則原樣輸出
toupper(c) //如果c是小寫字母,輸出對應的大寫字母;否則原樣輸出
eg:
#includeusing namespace std;
#includeint main()
cout << s << endl;
system("pause");
return 0;
}
關於string是值型別還是引用型別
當然了,string本質上肯定是引用型別,但是這個特殊的類卻表現出值型別的特點 判斷相等性時,是按照內容來判斷的,而不是位址 它肯定是乙個引用型別沒錯,兩個方面來看 1.class string繼承自object,而不是system.valuetype int32這樣的則是繼承於system.val...
關於string是值型別還是引用型別
當然了,string本質上肯定是引用型別,但是這個特殊的類卻表現出值型別的特點 判斷相等性時,是按照內容來判斷的,而不是位址 它肯定是乙個引用型別沒錯,兩個方面來看 1.class string繼承自object,而不是system.valuetype int32這樣的則是繼承於system.val...
Redis介紹 String型別之BIT(五)
本文時redis系列的第五篇文章,了解前面的文章有助於更好的理解本文 redis介紹 linux系統下的安裝 一 redis介紹 通用命令介紹 二 redis介紹 五大資料型別介紹 三 redis介紹 string資料型別介紹 四 bit相關的命令是指bitcount bitfield bitop ...