1*f4461cf4SMichael Buch #include <stdint.h>
299451b44SJordan Rupprecht #include <stdio.h>
399451b44SJordan Rupprecht #include <stdlib.h>
4*f4461cf4SMichael Buch #include <string>
599451b44SJordan Rupprecht
699451b44SJordan Rupprecht struct i_am_cool
799451b44SJordan Rupprecht {
899451b44SJordan Rupprecht int integer;
999451b44SJordan Rupprecht float floating;
1099451b44SJordan Rupprecht char character;
i_am_cooli_am_cool1199451b44SJordan Rupprecht i_am_cool(int I, float F, char C) :
1299451b44SJordan Rupprecht integer(I), floating(F), character(C) {}
i_am_cooli_am_cool1399451b44SJordan Rupprecht i_am_cool() : integer(1), floating(2), character('3') {}
1499451b44SJordan Rupprecht
1599451b44SJordan Rupprecht };
1699451b44SJordan Rupprecht
1799451b44SJordan Rupprecht struct i_am_cooler
1899451b44SJordan Rupprecht {
1999451b44SJordan Rupprecht i_am_cool first_cool;
2099451b44SJordan Rupprecht i_am_cool second_cool;
2199451b44SJordan Rupprecht float floating;
2299451b44SJordan Rupprecht
i_am_cooleri_am_cooler2399451b44SJordan Rupprecht i_am_cooler(int I1, int I2, float F1, float F2, char C1, char C2) :
2499451b44SJordan Rupprecht first_cool(I1,F1,C1),
2599451b44SJordan Rupprecht second_cool(I2,F2,C2),
2699451b44SJordan Rupprecht floating((F1 + F2)/2) {}
2799451b44SJordan Rupprecht };
2899451b44SJordan Rupprecht
2999451b44SJordan Rupprecht struct IWrapPointers
3099451b44SJordan Rupprecht {
3199451b44SJordan Rupprecht int* int_pointer;
3299451b44SJordan Rupprecht float* float_pointer;
IWrapPointersIWrapPointers3399451b44SJordan Rupprecht IWrapPointers() : int_pointer(new int(4)), float_pointer(new float(1.111)) {}
3499451b44SJordan Rupprecht };
3599451b44SJordan Rupprecht
3699451b44SJordan Rupprecht struct Simple
3799451b44SJordan Rupprecht {
3899451b44SJordan Rupprecht int x;
3999451b44SJordan Rupprecht float y;
4099451b44SJordan Rupprecht char z;
SimpleSimple4199451b44SJordan Rupprecht Simple(int X, float Y, char Z) :
4299451b44SJordan Rupprecht x(X),
4399451b44SJordan Rupprecht y(Y),
4499451b44SJordan Rupprecht z(Z)
4599451b44SJordan Rupprecht {}
4699451b44SJordan Rupprecht };
4799451b44SJordan Rupprecht
4899451b44SJordan Rupprecht struct SimpleWithPointers
4999451b44SJordan Rupprecht {
5099451b44SJordan Rupprecht int *x;
5199451b44SJordan Rupprecht float *y;
5299451b44SJordan Rupprecht char *z;
SimpleWithPointersSimpleWithPointers5399451b44SJordan Rupprecht SimpleWithPointers(int X, float Y, char Z) :
5499451b44SJordan Rupprecht x(new int (X)),
5599451b44SJordan Rupprecht y(new float (Y)),
5699451b44SJordan Rupprecht z(new char[2])
5799451b44SJordan Rupprecht {
5899451b44SJordan Rupprecht z[0] = Z;
5999451b44SJordan Rupprecht z[1] = '\0';
6099451b44SJordan Rupprecht }
6199451b44SJordan Rupprecht };
6299451b44SJordan Rupprecht
6399451b44SJordan Rupprecht struct Couple
6499451b44SJordan Rupprecht {
6599451b44SJordan Rupprecht SimpleWithPointers sp;
6699451b44SJordan Rupprecht Simple* s;
CoupleCouple6799451b44SJordan Rupprecht Couple(int X, float Y, char Z) : sp(X,Y,Z),
6899451b44SJordan Rupprecht s(new Simple(X,Y,Z)) {}
6999451b44SJordan Rupprecht };
7099451b44SJordan Rupprecht
7199451b44SJordan Rupprecht struct VeryLong
7299451b44SJordan Rupprecht {
7399451b44SJordan Rupprecht int a_1;
7499451b44SJordan Rupprecht int b_1;
7599451b44SJordan Rupprecht int c_1;
7699451b44SJordan Rupprecht int d_1;
7799451b44SJordan Rupprecht int e_1;
7899451b44SJordan Rupprecht int f_1;
7999451b44SJordan Rupprecht int g_1;
8099451b44SJordan Rupprecht int h_1;
8199451b44SJordan Rupprecht int i_1;
8299451b44SJordan Rupprecht int j_1;
8399451b44SJordan Rupprecht int k_1;
8499451b44SJordan Rupprecht int l_1;
8599451b44SJordan Rupprecht int m_1;
8699451b44SJordan Rupprecht int n_1;
8799451b44SJordan Rupprecht int o_1;
8899451b44SJordan Rupprecht int p_1;
8999451b44SJordan Rupprecht int q_1;
9099451b44SJordan Rupprecht int r_1;
9199451b44SJordan Rupprecht int s_1;
9299451b44SJordan Rupprecht int t_1;
9399451b44SJordan Rupprecht int u_1;
9499451b44SJordan Rupprecht int v_1;
9599451b44SJordan Rupprecht int w_1;
9699451b44SJordan Rupprecht int x_1;
9799451b44SJordan Rupprecht int y_1;
9899451b44SJordan Rupprecht int z_1;
9999451b44SJordan Rupprecht
10099451b44SJordan Rupprecht int a_2;
10199451b44SJordan Rupprecht int b_2;
10299451b44SJordan Rupprecht int c_2;
10399451b44SJordan Rupprecht int d_2;
10499451b44SJordan Rupprecht int e_2;
10599451b44SJordan Rupprecht int f_2;
10699451b44SJordan Rupprecht int g_2;
10799451b44SJordan Rupprecht int h_2;
10899451b44SJordan Rupprecht int i_2;
10999451b44SJordan Rupprecht int j_2;
11099451b44SJordan Rupprecht int k_2;
11199451b44SJordan Rupprecht int l_2;
11299451b44SJordan Rupprecht int m_2;
11399451b44SJordan Rupprecht int n_2;
11499451b44SJordan Rupprecht int o_2;
11599451b44SJordan Rupprecht int p_2;
11699451b44SJordan Rupprecht int q_2;
11799451b44SJordan Rupprecht int r_2;
11899451b44SJordan Rupprecht int s_2;
11999451b44SJordan Rupprecht int t_2;
12099451b44SJordan Rupprecht int u_2;
12199451b44SJordan Rupprecht int v_2;
12299451b44SJordan Rupprecht int w_2;
12399451b44SJordan Rupprecht int x_2;
12499451b44SJordan Rupprecht int y_2;
12599451b44SJordan Rupprecht int z_2;
12699451b44SJordan Rupprecht };
12799451b44SJordan Rupprecht
main(int argc,const char * argv[])12899451b44SJordan Rupprecht int main (int argc, const char * argv[])
12999451b44SJordan Rupprecht {
13099451b44SJordan Rupprecht
13199451b44SJordan Rupprecht int iAmInt = 9;
13279ac5bbbSShafik Yaghmour const int constInt = 42;
13379ac5bbbSShafik Yaghmour volatile int volatileInt = 43;
13479ac5bbbSShafik Yaghmour const volatile int constVolatileInt = 44;
13599451b44SJordan Rupprecht
13699451b44SJordan Rupprecht i_am_cool cool_boy(1,0.5,3);
13799451b44SJordan Rupprecht i_am_cooler cooler_boy(1,2,0.1,0.2,'A','B');
13899451b44SJordan Rupprecht
13999451b44SJordan Rupprecht i_am_cool *cool_pointer = new i_am_cool(3,-3.141592,'E');
14099451b44SJordan Rupprecht
14199451b44SJordan Rupprecht i_am_cool cool_array[5];
14299451b44SJordan Rupprecht
14399451b44SJordan Rupprecht cool_array[3].floating = 5.25;
14499451b44SJordan Rupprecht cool_array[4].integer = 6;
14599451b44SJordan Rupprecht cool_array[2].character = 'Q';
14699451b44SJordan Rupprecht
14799451b44SJordan Rupprecht int int_array[] = {1,2,3,4,5};
1483abd063fSPavel Labath const int const_int_array[] = {11, 12, 13, 14, 15};
14999451b44SJordan Rupprecht
15099451b44SJordan Rupprecht IWrapPointers wrapper;
15199451b44SJordan Rupprecht
15299451b44SJordan Rupprecht *int_array = -1;
15399451b44SJordan Rupprecht
15499451b44SJordan Rupprecht int* pointer = &cool_array[4].integer;
15599451b44SJordan Rupprecht
15699451b44SJordan Rupprecht IWrapPointers *wrap_pointer = &wrapper;
15799451b44SJordan Rupprecht
15899451b44SJordan Rupprecht Couple couple(9,9.99,'X');
15999451b44SJordan Rupprecht
16099451b44SJordan Rupprecht SimpleWithPointers sparray[] =
16199451b44SJordan Rupprecht {SimpleWithPointers(-1,-2,'3'),
16299451b44SJordan Rupprecht SimpleWithPointers(-4,-5,'6'),
16399451b44SJordan Rupprecht SimpleWithPointers(-7,-8,'9')};
16499451b44SJordan Rupprecht
16599451b44SJordan Rupprecht Simple a_simple_object(3,0.14,'E');
16699451b44SJordan Rupprecht
16799451b44SJordan Rupprecht VeryLong a_long_guy;
16899451b44SJordan Rupprecht
169*f4461cf4SMichael Buch std::string some_string = "012345678901234567890123456789"
170*f4461cf4SMichael Buch "012345678901234567890123456789"
171*f4461cf4SMichael Buch "012345678901234567890123456789"
172*f4461cf4SMichael Buch "012345678901234567890123456789";
173*f4461cf4SMichael Buch char const *some_cstring = some_string.c_str();
174*f4461cf4SMichael Buch
175*f4461cf4SMichael Buch char const some_carr[] = "012345678901234567890123456789"
176*f4461cf4SMichael Buch "012345678901234567890123456789"
177*f4461cf4SMichael Buch "012345678901234567890123456789"
178*f4461cf4SMichael Buch "012345678901234567890123456789";
179*f4461cf4SMichael Buch
18099451b44SJordan Rupprecht return 0; // Set break point at this line.
18199451b44SJordan Rupprecht }
182