C++ Primer 筆記(第21回---第25回)

第二十一回

vector 是一個動態數組,下圖中,紅線框住的部分叫做類模板,< >裏的 int 就叫做模板參數,

 

注意:vector 和 string 一樣,都有自己的數據類型(下圖)

注意,下面這個圖中,vector ivec 一開始是空的,是沒有下標的,而操作下標的前提是必須有下標存在纔可以操作下標,現在呢,一開始的時候向量 ivec是空的,下標是不存在的,所以不能通過循環操作ivec向量的下標

所有容器都有迭代器,但有的容器沒有下標操作,所有推薦使用迭代器!

如果不通過迭代器修改數據,只是用迭代器讀數據,我們就可以使用常迭代器(下圖所示),

第二十四回

八進制: 逢8進1,10進制的權值是10^0,  10^1,  10^2  ......     8進制的權值是  8^0,   8^1,   8^2......   

n 進制數  轉   10進制數

對於 用n 進製表示的數,用該數的每一位  乘以  對應位的權值,得到的就是該數對應的   10進制   數

十六進制和二進制之間完美的轉換關係:  

第二十四回

bitset類型是專門用來處理二進制數的, 圖1中,a 是一個bitset類型,裏面可以放32個二進制位

也可以把字符串放到 bitset 類型中去,如下圖所示,其中, f(str,5,4)表示將 str這個字符串中的  從第5位開始的  4個字符  放到f 這個bitset類型的對象中,所謂的從第5位開始,是指,對str這個字符串從右邊開始數,從末尾沒有顯示出來的結束標記符 \0  開始數,從0開始數到5,依次是 /0   1   0   1   1  然後把前面的4位   1100拿出來放到 f 中

下圖是指用 字符串  str  的最後 4 位來初始化bitset類型對象g,得到的就是1101

可以用下標來對bitset對象的每一位進行操作(如下圖所示),下圖中將第5位變成了1,注意,第5位是從右邊開始,從最後的 一位開始(不是從 \0開始),從0開始數到5

位異或:相同爲0,不同爲1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章