1: //deque08.cpp 3: #include <iostream> 4: #include <deque> 5: using namespace std; 7: int numberOfOddValues 8: ( 9: const deque<int>& d //in 10: ); 11: /**< 12: Counts the odd integers in a deque of integers. 13: @return The number of odd integer values in the deque. 14: @param d A deque of integers. 15: @pre d has been initialized. 16: @post No side effects. 17: */ 19: int main() 20: { 21: cout << "\nThis program illustrates a typical use of a const " 22: "iterator of the deque class."; 23: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 25: cout << "\nHere are the contents of a deque of size 12:\n"; 26: int a[] = {1, 4, 6, 8, 11, 13, 15, 16, 19, 20, 23, 25}; 27: deque<int> d(a, a+12); 28: deque<int>::iterator p = d.begin(); 29: while (p != d.end()) cout << *p++ << " "; 30: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 32: cout << "\nThe number of odd values in the deque is " 33: << numberOfOddValues(d) << ".\n"; 34: cout << "Press Enter to continue ... "; cin.ignore(80, '\n'); 35: } 38: int numberOfOddValues 39: ( 40: const deque<int>& d //in 41: ) 42: { 43: int oddCount = 0; 44: //Since d is a "const" input parameter, you must use 45: //a const_iterator inside the function to access d. 46: deque<int>::const_iterator p = d.begin(); 47: while (p != d.end()) 48: { 49: if (*p % 2 == 1) ++oddCount; 50: ++p; 51: } 52: return oddCount; 53: }