c accumulate 用法 原理剖析

2021-07-26 12:23:53 字數 1407 閱讀 1439

1.numeric這個標頭檔案當中的 accumulate(begin(), end(), init, binary_op), 預設是add運算。

2. 實現原理:

template t accumulate (inputiterator first, inputiterator last, t init)

return init;

}

在兩個位址之間,從初始值開始,將沒個結果通過自定義運算迭代。

3. 我們也可以自定義函式來實現這個操作,或者乙個物件過載()也可以。舉的例子:

// accumulate example

#include // std::cout

#include // std::minus

#include // std::accumulate

int myfunction (int x, int y)

struct myclass

} myobject;

int main () ;

std::cout

<< "using default accumulate: ";

std::cout

<< std::accumulate(numbers,numbers+3,init);

std::cout

<< '\n';

std::cout

<< "using functional's minus: ";

std::cout

<< std::accumulate (numbers, numbers+3, init, std::minus());

std::cout

<< '\n';

std::cout

<< "using custom function: ";

std::cout

<< std::accumulate (numbers, numbers+3, init, myfunction);

std::cout

<< '\n';

std::cout

<< "using custom object: ";

std::cout

<< std::accumulate (numbers, numbers+3, init, myobject);

std::cout

<< '\n';

return

0;}

< functional>這個標頭檔案中已經幫我們實現了很多運算操作

加:plus

減:minus

乘:multiplies

除:divides

模取:modulus

否定:negate

MOS管原理用法

學過模擬電路,但都忘得差不多了。重新學習mos管相關知識,大多數是整理得來並非原創。如有錯誤還請多多指點!先上一張圖 一 一句話mos管工作原理 nmos的特性,vgs大於一定的值就會導通,適合用於源極接地時的情況 低端驅動 只要柵極電壓達到一定電壓 如4v或10v,其他電壓,看手冊 就可以了。pm...

Android Looper用法及原理

looper是android為執行緒間非同步訊息通訊提供的一種機制,利用looper機制可以方便我們實現多執行緒程式設計時執行緒間的相互溝通。當然,如果不用looper而採用其它的執行緒間通訊方式 像管道,訊號量,共享記憶體,訊息佇列等 也是一樣的。looper的實現是利用訊息佇列的方式,為使用者封...

feof 原理和用法

feof 是檢測流上的檔案結束符的函式,如果檔案結束,則返回非0值,否則返回0 一般在檔案操作,中經常使用feof 判斷檔案是否結束。根據這個函式的定義,一般大家都是這樣使用的,但是這樣使用,檔案中無論是否有內容,都會被判斷為 檔案不為空 include int main void else ret...