1*99451b44SJordan Rupprecht #include <stdio.h>
2*99451b44SJordan Rupprecht 
3*99451b44SJordan Rupprecht class Point {
4*99451b44SJordan Rupprecht public:
5*99451b44SJordan Rupprecht     int x;
6*99451b44SJordan Rupprecht     int y;
Point(int a,int b)7*99451b44SJordan Rupprecht     Point(int a, int b):
8*99451b44SJordan Rupprecht         x(a),
9*99451b44SJordan Rupprecht         y(b)
10*99451b44SJordan Rupprecht     {}
11*99451b44SJordan Rupprecht };
12*99451b44SJordan Rupprecht 
13*99451b44SJordan Rupprecht class Data {
14*99451b44SJordan Rupprecht public:
15*99451b44SJordan Rupprecht     int id;
16*99451b44SJordan Rupprecht     Point point;
Data(int i)17*99451b44SJordan Rupprecht     Data(int i):
18*99451b44SJordan Rupprecht         id(i),
19*99451b44SJordan Rupprecht         point(0, 0)
20*99451b44SJordan Rupprecht     {}
21*99451b44SJordan Rupprecht };
22*99451b44SJordan Rupprecht 
main(int argc,char const * argv[])23*99451b44SJordan Rupprecht int main(int argc, char const *argv[]) {
24*99451b44SJordan Rupprecht     Data *data[1000];
25*99451b44SJordan Rupprecht     Data **ptr = data;
26*99451b44SJordan Rupprecht     for (int i = 0; i < 1000; ++i) {
27*99451b44SJordan Rupprecht         ptr[i] = new Data(i);
28*99451b44SJordan Rupprecht         ptr[i]->point.x = i;
29*99451b44SJordan Rupprecht         ptr[i]->point.y = i+1;
30*99451b44SJordan Rupprecht     }
31*99451b44SJordan Rupprecht 
32*99451b44SJordan Rupprecht     printf("Finished populating data.\n");
33*99451b44SJordan Rupprecht     for (int j = 0; j < 1000; ++j) {
34*99451b44SJordan Rupprecht         bool dump = argc > 1; // Set breakpoint here.
35*99451b44SJordan Rupprecht                               // Evaluate a couple of expressions (2*1000 = 2000 exprs):
36*99451b44SJordan Rupprecht                               // expr ptr[j]->point.x
37*99451b44SJordan Rupprecht                               // expr ptr[j]->point.y
38*99451b44SJordan Rupprecht         if (dump) {
39*99451b44SJordan Rupprecht             printf("data[%d] = %d (%d, %d)\n", j, ptr[j]->id, ptr[j]->point.x, ptr[j]->point.y);
40*99451b44SJordan Rupprecht         }
41*99451b44SJordan Rupprecht     }
42*99451b44SJordan Rupprecht     return 0;
43*99451b44SJordan Rupprecht }
44