choices.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. // choices.cpp -- array variations
  2. #include <iostream>
  3. #include <vector> // STL C++98
  4. #include <array> // C++0x
  5. int main()
  6. {
  7. using namespace std;
  8. // C, original C++
  9. double a1[4] = {1.2, 2.4, 3.6, 4.8};
  10. // C++98 STL
  11. vector<double> a2(4); // create vector with 4 elements
  12. // no simple way to initialize in C98
  13. a2[0] = 1.0/3.0;
  14. a2[1] = 1.0/5.0;
  15. a2[2] = 1.0/7.0;
  16. a2[3] = 1.0/9.0;
  17. // C++0x -- create and initialize array object
  18. array<double, 4> a3 = {3.14, 2.72, 1.62, 1.41};
  19. array<double, 4> a4;
  20. a4 = a3; // valid for array objects of same size
  21. // use array notation
  22. cout << "a1[2]: " << a1[2] << " at " << &a1[2] << endl;
  23. cout << "a2[2]: " << a2[2] << " at " << &a2[2] << endl;
  24. cout << "a3[2]: " << a3[2] << " at " << &a3[2] << endl;
  25. cout << "a4[2]: " << a4[2] << " at " << &a4[2] << endl;
  26. // misdeed
  27. a1[-2] = 20.2;
  28. cout << "a1[-2]: " << a1[-2] <<" at " << &a1[-2] << endl;
  29. cout << "a3[2]: " << a3[2] << " at " << &a3[2] << endl;
  30. cout << "a4[2]: " << a4[2] << " at " << &a4[2] << endl;
  31. // cin.get();
  32. return 0;
  33. }