using 關(guān)鍵字
類(lèi)似 python里的import,是個(gè)導(dǎo)入命名空間的關(guān)鍵字,用法
using namespace::name
- 頭文件中不要使用using關(guān)鍵字,會(huì)導(dǎo)致其他使用了頭文件的地方產(chǎn)生未知的行為。
string
初始化
string s1;
string s2(s1);
string s2=s1;
string s3("value");
string s4 = "value";
string s5(2,'c');
s4,s2=s1 這兩種初始化的方式叫做拷貝初始化,編譯器把等號(hào)右側(cè)的值拷貝到新創(chuàng)建的對(duì)象中去。不用等號(hào)叫做直接初始化。
string的操作
os<<s;
is>>s;
getline(is,s);
s.empty();
s.size();
s[n];
s1+s2
s1=s2
s1==s2 比較字符內(nèi)容是否完全一樣
s1!=s2
<,<=,>,>= 利用字符在字典中的順序進(jìn)行比較,且對(duì)字母的大小寫(xiě)敏感
- s.size() 返回的不是無(wú)符號(hào)數(shù),而是string::size_type類(lèi)型
string字符串比較的規(guī)則
- "=="和"!="對(duì)兩個(gè)string所包含的字符進(jìn)行比較,大小寫(xiě)全部相同,則相對(duì),否則不相等
- ">","<",">=","<=" 如果s1是s2的從第一個(gè)字母開(kāi)始的子串,則s1小于s2
- 如果兩個(gè)string對(duì)象某些位置上字母不一致,則從第一個(gè)相異字母開(kāi)始用字典序進(jìn)行比較
字符相加的規(guī)則:
- 允許將字符和字符串相加,但 + 號(hào)兩側(cè),必須有其中一個(gè)是string對(duì)象,若兩個(gè)都是字面值,則非法
如
string s1 = "world" ;
string s2 = "hello" + s1;
合法,但
string s1 = "hello"+ "world";
非法。
- 字符串字面值和string不是同一種類(lèi)型
如何遍歷string
string str1("some string");
for(auto c : str)
cout<<c<<endl;
如何使用for改變字符串中的字符
string s("hello world");
for (auto &c:s)
c = toupper(c);
cout<<s<<endl;
只修改其中一個(gè)字符
使用下標(biāo)
string s("hello");
s[0] = 'a';