C 學習筆記十七 基於範圍的for迴圈

2021-07-25 08:34:31 字數 578 閱讀 7860

c++11新增了一種迴圈:基於範圍(range-based)的for迴圈。

這簡化了一種常見的迴圈任務:對陣列(或容器類,如vector和array)的每個元素執行相同的操作,如:

double prices[5] = ;

for (double x : prices)

cout

<< x << std::endl;

其中,x最初表示陣列prices的第乙個元素,顯示第乙個元素後,不斷執行迴圈,而x以此表示陣列的其他元素。因此,上述**顯示全部5個元素,每個元素佔據一行。總之,該迴圈顯示陣列中的每個值。

要修改陣列的元素,需要使用不同的迴圈變數語法:

for (double &x : prices)

x = x * 0.80;

符號&表明x是乙個引用變數。

還可結合使用基於範圍的for迴圈和初始化列表:

for (int x : )

cout

<< x << " ";

cout

<< "\n";

c 學習筆記十七

構造 析構 賦值運算 c 會為乙個空類宣告乙個copy建構函式,乙個copy assignment操作符和乙個析構函式 如果沒有宣告建構函式,還會生成乙個default建構函式 示例 如下 class empty 等同於class empty copy建構函式 empty const empty r...

Oracle學習筆記(十七)

103 date,timestamp,interval 這三個是oracle 處理時間方面的型別。從字面上面,就可以很清楚的明白這其中的區別。date 是正常的時間。timestamp 是時間戳。而interval 則是表示一段時間。覺得分割的好細緻 還有一點需要明白的是,在資料庫中,儲存的時間無論...

opencv python學習筆記十七

20 影象金字塔 高斯金字塔 拉普拉斯金字塔 所用函式 defpyrdown src,輸入影象 dst none,輸出影象 dstsize none,輸出影象的大小 bordertype none 影象邊界的處理方式 defpyrup src,dst none,dstsize none,border...