C Primer中的陌生概念四 範圍for語句

2021-07-25 15:32:55 字數 355 閱讀 6504

範圍for語句是c++11 新標準引入的一種更為簡單的for語句,用於遍歷容器或其他序列的所有元素。如下面的例子:

vector v = ;

for(auto &r : v)

for語句頭宣告了迴圈控制變數r,並把它和v關聯在一起,我們使用關鍵字auto令編譯器為r指定正確的型別。

需要注意的是,上面的語句相當於:

for(auto beg = v.begin(), end = v.end(); beg != end; ++beg)

可見,在範圍for語句中,預存了end()的值。一旦在序列中新增(刪除)元素,end函式的值就可能變得無效了。因此不能用範圍for語句來對vector物件進行增加物件的操作。

C Primer中的陌生概念一 內聯函式

內聯函式是c 有別於c的特性之一。是為了提高程式執行速度所做的一項改進。常規函式和內聯函式之間的主要區別不在於編寫方式,而在於c 編譯器如何將它們組合到程式中。要了解內聯函式與常規函式之間的區別,必須深入到程式內部。常規函式執行時,計算機總是在機器指令之間來回跳躍並記錄跳躍位置,這需要一定的開銷。c...

TypeScript中的范型

比如我們有乙個函式,如果不使用范型是這樣的 function getdata arg number number它只能傳入number型別,如果我們要傳入乙個string型別的是編譯不通過的,所以我們可以寫另乙個函式或者用any型別 function getdata1 arg string stri...

mysql中幾個有用的陌生語法

一.coalesce 函式 coalesce函式表示可以返回引數中的第乙個非空表示式,當你有n個引數時選取第乙個非空值 從左到右 例項一 返回結果 carrot 例項二 返回結果 1 這些語句可以直接在mysql裡執行。一 limit offset 語法 在我們使用查詢語句的時候,經常要返回前幾條或...