close

參考書籍:C++ Primer 5th Edition 中文版

 

字串相加

也可以跟字元相加。

image

 

字面值之間不能相加,如果要至少要跟運算元string相加過1次。

image

 

加上括號就可以知道是否有字面值相加。

image

 

 

額外內容

字面值(literal):意思就是一個值,“hello”是一個字串字面值(string literal)‘,’就是字元字面值(character literal)

 

image

 

字串中各字元處理

如果要把字串一個字一個字的讀出可以用迭代的方式,

字串中的一個字代表序列(字串)中的字元,

所以我們要用字元取出並列印。

image

 

如果不知道型態可以用auto自動幫你。

image

要使用auto必須使用c++ 11編譯,可以參考這一篇'Dev C++ 使用C++11'。

 

計算標點符號

使用現成的函數'ispunct'

image

 

這是書的寫法。

image

之前有講過s.size()的型態是size_typedecltype的意思就是把punct_cnt宣告成size_type型態,這是c++ 11才有的功能。

 

額外內容

C的函式庫都是xxx.hC++則去除後綴.h改為cxxx

所以我們這次使用的cctype(C++)ctype.h(C)是一樣的,而特別的是C++cctype定義在cname標頭中的名稱定義在std命名空間中。

 

原本是要這樣寫。

image

 

但是C++stringcctype放在這個std命名空間中,

所以這樣子就代表使用了stringcctype

 

image

 

可以看cctype有哪些函數:cctype函數

arrow
arrow
    創作者介紹
    創作者 讀書小天地 的頭像
    讀書小天地

    書籍分享天地

    讀書小天地 發表在 痞客邦 留言(0) 人氣()