// ------------------------
// PointersVsReferences.c++
// ------------------------
#include <cassert> // assert
#include <iostream> // cout, endl
int main () {
using namespace std;
cout << "PointersVsReferences.c++" << endl;
{
int i = 2;
int v = i;
++v;
assert(i == 2);
assert(v == 3);
assert(&i != &v);
}
{
int j = 2;
int* p = &j;
++*p;
assert(j == 3);
assert(*p == 3);
assert(p == &j);
}
{
int k = 2;
int& r = k;
++r;
assert(k == 3);
assert(r == 3);
assert(&r == &k);
}
{
int l = 2;
int* p = &l;
int*& r = p;
++*r;
assert(l == 3);
assert(*p == 3);
assert(*r == 3);
assert(&r == &p);
}
cout << "Done." << endl;
return 0;}
syntax highlighted by Code2HTML, v. 0.9.1