C++ Tutorial/STL Algorithms Iterator/template iterators — различия между версиями
Admin (обсуждение | вклад) м (1 версия: Импорт контента...) |
|
(нет различий)
|
Текущая версия на 10:29, 25 мая 2010
Computing the sum with template iterators
#include <iostream>
#include <vector>
using std::cout;
using std::endl;
using std::vector;
template <typename Iter>
double vectorSum(Iter begin, Iter end) {
double sum = 0.0;
while( begin != end )
sum += *begin++;
return sum;
}
int main() {
vector<int> sunny;
sunny.push_back(7);
sunny.push_back(12);
sunny.push_back(15);
cout << sunny.size() << " months on record" << endl;
cout << "vectorSum number of sunny days: ";
cout << vectorSum(sunny.begin(), sunny.end()) << endl;
return 0;
}
3 months on record vectorSum number of sunny days: 34
Use Iter with array
#include <iostream>
#include <vector>
using std::cout;
using std::endl;
using std::vector;
template <typename Iter>
double vectorSum(Iter begin, Iter end) {
double sum = 0.0;
while( begin != end )
sum += *begin++;
return sum;
}
int main() {
double temperature[] = { 10.5, 20.0, 8.5 };
cout << "array vectorSum = "
<< vectorSum(temperature,temperature+sizeof temperature/sizeof temperature[0])
<< endl;
return 0;
}
array vectorSum = 39