Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- #include <new>
- //typedef demo
- typedef int *pint;
- //typedef pint apint[]; OR
- typedef int *apint[];
- int main() {
- //Const and cast
- {
- const int *cpi = new int[10];
- int *pi = (int*)cpi;
- //cpi[0] = 10; //Error;
- pi[0] = 10;
- printf("%d\n", cpi[0]);
- delete[] cpi;
- }
- // Jagged array
- {
- apint a = {new int[10], new int[11]};
- a[0][0]; //to
- a[0][9];
- a[1][0]; //to
- a[1][10];
- for (int i = 0; i < 2; ++i)
- delete[] a[i];
- }
- //Null pointer
- {
- int *p1 = nullptr; //OR
- int *p2 = 0; //OR
- int *p3 = NULL; //OR
- }
- // Reference pointer
- {
- int i = 10;
- int &li = i;
- ++li;
- printf("%d\n", i);
- }
- // Anti-example with pointers
- {
- int *pi;
- {
- int i = 42;
- pi = &i;
- }
- int &li = *pi; //Link to ???
- ++li;
- printf("%d\n", li); //May be 43, but may be not...
- //printf("%d\n", i); //Just error
- }
- return 0;
- }
RAW Paste Data