1: //deque01.cpp 3: #include <iostream> 4: #include <string> 5: #include <deque> 6: using namespace std; 8: int main() 9: { 10: cout << "\nThis program illustrates all constructors of the STL " 11: "deque container class,\nas well as the empty() and size() " 12: "member functions, the size_type typedef,\nand the d[i] method " 13: "of accessing deque components."; 14: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 16: //Create an empty deque 17: deque<int> d1; 18: if (d1.empty()) cout << "\nd1 is empty.\n"; 19: cout << "Press Enter to continue ... "; cin.ignore(80, '\n'); 21: //Create a deque filled with the default component-type value 22: deque<int> d2(5); 23: cout << "\nContents of d2: "; 24: for (deque<int>::size_type i=0; i<d2.size(); i++) 25: cout << d2[i] << " "; 26: cout << endl; 27: cout << "Press Enter to continue ... "; cin.ignore(80, '\n'); 29: //Create a deque filled with a specific component-type value 30: deque<double> d3(4, 3.14); 31: cout << "\nContents of d3: "; 32: for (deque<double>::size_type i=0; i<d3.size(); i++) 33: cout << d3[i] << " "; 34: cout << endl; 35: cout << "Press Enter to continue ... "; cin.ignore(80, '\n'); 37: //Create a deque using pointers to an integer array 38: int a[] = {2, 4, 6, 8, 10, 12}; 39: deque<int> d4(a, a + sizeof(a)/sizeof(int)); 40: cout << "\nContents of d4: "; 41: for (deque<int>::size_type i=0; i<d4.size(); i++) 42: cout << d4[i] << " "; 43: cout << endl; 44: cout << "Press Enter to continue ... "; cin.ignore(80, '\n'); 46: //Create a deque using pointers to a C-string 47: char s[] = "Hello"; 48: deque<char> d5(s, s + strlen(s)); 49: cout << "\nContents of d5: "; 50: for (deque<char>::size_type i=0; i<d5.size(); i++) 51: cout << d5[i] << " "; 52: cout << endl; 53: cout << "Press Enter to continue ... "; cin.ignore(80, '\n'); 55: //Create a new deque as a copy of an existing deque 56: deque<double> d6(d3); //or deque<double> d6 = d3; 57: cout << "\nContents of d6 same as those of d3: "; 58: for (deque<double>::size_type i=0; i<d6.size(); i++) 59: cout << d6[i] << " "; 60: cout << endl; 61: cout << "Press Enter to continue ... "; cin.ignore(80, '\n'); 62: }