This is an example of a simple int pointer:
Pointer<Integer> ptr = calloc(1, sizeof(int.class));
ptr.set(1);They same thing can be achieved like this:
Pointer<Integer> ptr = ref(1);To read the value of a pointer, simply dereference it by using the deref() method.
System.out.println(ptr.deref());Of cource, you can also have a Pointer<Pointer<Integer>> ;)
To create an Array, pass an int greater than 1 as the first argument for the calloc() or the malloc() method.
Use the at() method to access a slot. To read a slot, increment the pointer by the index you want to access.
//Create the array
Pointer<Character> x = malloc(7, sizeof(char.class));
//Access the slots 1 by 1
x.at(0, 'p');
x.at(1, 'o');
x.at(2, 'i');
x.at(3, 'n');
x.at(4, 't');
x.at(5, 'e');
x.at(6, 'r');
//convert it to String
printf("%s", x.as_str(7));
//Read a slot
char c = x.incr(3).deref() //c -> nThe funny thing about this little toy is, that every value is stored in a literal byte array in the Memory class. So its no simple ArrayList, but a "real" memory manager.
A little detail which I think is funny, is that the addresses you can receive from a pointer have cool looking values like -5463669687428276857 that are actually working.
Anyways, have fun playing with this mess ;D