blob: 1a095d350227b85d233cb12b5e6855c587784c52 [file] [log] [blame]
Johnny Chencbfd0932011-08-02 00:43:09 +00001#include <stdio.h>
2
3class Point {
4public:
5 int x;
6 int y;
7 Point(int a, int b):
8 x(a),
9 y(b)
10 {}
11};
12
13class Data {
14public:
15 int id;
16 Point point;
17 Data(int i):
18 id(i),
19 point(0, 0)
20 {}
21};
22
23int main(int argc, char const *argv[]) {
24 Data *data[1000];
25 Data **ptr = data;
26 for (int i = 0; i < 1000; ++i) {
27 ptr[i] = new Data(i);
28 ptr[i]->point.x = i;
29 ptr[i]->point.y = i+1;
30 }
31
32 printf("Finished populating data.\n");
Johnny Chen113388f2011-08-02 22:54:37 +000033 for (int j = 0; j < 1000; ++j) {
Johnny Chencbfd0932011-08-02 00:43:09 +000034 bool dump = argc > 1; // Set breakpoint here.
35 // Evaluate a couple of expressions (2*1000 = 2000 exprs):
Johnny Chen113388f2011-08-02 22:54:37 +000036 // expr ptr[j]->point.x
37 // expr ptr[j]->point.y
Johnny Chencbfd0932011-08-02 00:43:09 +000038 if (dump) {
Johnny Chen113388f2011-08-02 22:54:37 +000039 printf("data[%d] = %d (%d, %d)\n", j, ptr[j]->id, ptr[j]->point.x, ptr[j]->point.y);
Johnny Chencbfd0932011-08-02 00:43:09 +000040 }
41 }
42 return 0;
43}