計算迭代器中所有元素的最佳方法是什麼?兩個迭代器之間有多少個元素
我想代碼等同於這個
template<typename T,typename S,S val>
struct ConstantFunctor : unary_function<T,S>
{S operator()(const T&) const {return val;}};
template<typename T>
struct TrueFunctor : ConstantFunctor<T,bool,true>{};
...
count_if(c.begin(),c.end(),TrueFunctor());
什麼是做到這一點的最好方法是什麼?
我可以使用boost::lambda::constant(true)
,但也許有一些清晰。
你爲什麼不使用'的std :: distance'? – Vinzenz
@Vinzenz這就是我正在尋找... Thaks –
對我來說*計算兩個迭代器之間的所有元素*聽起來像獲取元素的值並將它們總結起來,即「accumulate」。如果你想知道的是*範圍內有多少元素*我認爲如果你改變問題標題會有好處。 –