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