1: //TestStuff20141022.cpp
2: //Wednesday, October 22, 2014
3:
4: #include <iostream>
5: #include <vector>
6: #include <algorithm>
7: using namespace std;
8:
9: #include "utilities.h"
10: using Scobey::Pause;
11: using Scobey::RandomGenerator;
12:
13:
14: int main(int argc, char* argv[])
15: {
16: //int i = 6;
17: //cout << sizeof (i) << endl;
18: //cout << sizeof i << endl; //parentheses optional if argument is a variable
19: //cout << sizeof (int) << endl; //need parentheses if a type is the argument
20: //int a[] = { 1, 2, 3 };
21: //cout << sizeof a << endl;
22: //cout << (sizeof a) / sizeof(int) << endl;
23: //cout << endl;
24:
25: //The old (pre-C++11) way:
26: //int a[] = { 2, 4, 6, 8, 10 };
27: //vector<int> v(a, a + 5);
28: //for (vector<int>::size_type i = 0; i < v.size(); i++)
29: // cout << v.at(i) << " ";
30: //cout << endl;
31:
32: //The new (C++11) way using "uniform initialization"
33: //and a "range for-loop":
34: //vector<int> v{ 2, 4, 6, 8, 10 };
35: //for (int i : v) cout << i << " ";
36: //cout << endl;
37:
38: //The iterator (pre-C++11 and post-C++11) way:
39: //vector<int> v{ 2, 4, 6, 8, 10 };
40: //for (vector<int>::iterator i = v.begin(); i < v.end(); i++)
41: // cout << *i << " ";
42: //cout << endl;
43: //for (vector<int>::reverse_iterator i = v.rbegin(); i < v.rend(); i++)
44: // cout << *i << " ";
45: //cout << endl;
46:
47: //The iterator way with keyword auto (auto only post-C++11):
48: //(auto used as a type in this way causes C++ to give to the
49: //variable declared as "auto" the type of the value assigned to it)
50: //vector<int> v{ 2, 4, 6, 8, 10 };
51: //for (auto i = v.begin(); i < v.end(); i++)
52: // cout << *i << " ";
53: //cout << endl;
54: //for (auto i = v.rbegin(); i < v.rend(); i++)
55: // cout << *i << " ";
56: //cout << endl;
57: //for (auto i = v.rbegin()+1; i < v.rend()-2; i++)
58: // cout << *i << " ";
59: //cout << endl;
60:
61: vector<int> v{ 2, 4, 6, 8, 10 };
62: vector<int> v1(v.begin() + 1, v.end() - 2);
63: for (auto i = v1.begin(); i < v1.end(); i++)
64: cout << *i << " ";
65:
66:
67:
68: }
69:
70: