C string和範圍for語句

2021-10-02 08:28:55 字數 1963 閱讀 2678

初始化

//string 型別的初始化方法

string s1;

string s2 = s1;

string s3 =

"lol"

;string s4

("jarveniv");

string s5(7

,'7');

//連續n個字元組成的串

讀寫
string s;

cin>>s;

cout

string str

("i can fly high!");

for(

auto

&c : str)

//使用引用以更改字元的值

c =toupper

(c);

cout

string s

("clear4396love");

decltype

(s.size()

) digit_count =0;

//decltype函式返回s.size()的型別

for(

auto c : s)if(

isdigit

(c))

//該字元是數字

++digit_count;

cout

string s

("helloworld!");

//使用begin(),end()方法修改

for(

auto i = s.

begin()

;i != s.

end();

++i)

cin >>

*i;//使用cbegin(),cend()方法遍歷

for(

auto i = s.

cbegin()

;i != s.

cend()

;++i)

cout <<

*i << endl;

//使用迭代器型別變數

string::const_iterator citb = s.

cbegin()

;string::const_iterator cite = s.

cend()

;string::iterator itb = s.

begin()

;//修改

for(

auto i = itb;i != cite;

++i)

cin >>

*i;//遍歷

for(

auto i = citb;i != cite;

++i)

cout <<

*i << endl;

部分操作

方法功能

cout《輸出s

cin>>s

輸入sgetline(cin,s)

從輸入流中讀取一行賦給s

s.empty()

s為空則返回true

s.size()

返回s中字元的個數

s[n]

類似c語言陣列用法

s1+s2

兩個字串連線的結果

s1=s2

將s2的值賦給s1

s1 == s2

兩個字串完全一樣

s.begin()

返回指向第乙個元素的迭代器

s.end()

返回指向尾元素的下乙個位置的迭代器

s.cbegin()

指向常量的第乙個元素迭代器

s.cend()

指向常量的尾後迭代器

string::iterator

迭代器可以讀寫string內容

string::const_iterator

迭代器只可讀,不可寫

範圍for語句

c 11 新標準引入了一種更簡單的for語句,這種語句可以遍歷容器或其他序列的所有元素。範圍for語句 range for statement 的語法形式是 for declaration expression statement expression表示的必須是乙個序列,比如用花括號括起來的初始值...

C 範圍for語句

在c 11中間,引入了範圍for語句,它的作用就是簡化遍歷給定序列的操作。語法形式如下 for declaration expression statement declaration 定義的變數 expression 要遍歷的物件 statement 語句 舉例 string s string 一...

標準庫型別vector和範圍for語句

1 標準庫型別 vector 表示的是物件的集合,而且是同一型別的物件的集合。它也被成為容器。因為它像容器一樣可以把好多資料都放進同樣乙個容器。首先,我們在使用 vector 時需要定義適當的標頭檔案。include include using namespace std 2 範圍 for 語句,我...