0
What is the proper way to increment a pointer in c++?
I'm a little confused about what is the proper way to increment a pointer, what is the difference between: *pointer++; *(pointer++); (*pointer)++; which one should I use? I tried the three ways in a program and the three works fine... I don't see any difference, so ... which one should I use?
2 Answers
+ 3
For me it's better to try in a program to see the differences.
https://code.sololearn.com/c2KhkmjDXdrb/#c
I found a summary for pointers :
pointer++; // use it then move to next int position
++pointer; // move to next int and then use it
++*pointer; // increments the value by 1 then use it
++(*pointer); // increments the value by 1 then use it
++*(pointer); // increments the value by 1 then use it
*pointer++; // use the value of pointer then moves to next position
(*pointer)++; // use the value of pointer then increment the value
*(pointer)++; // use the value of pointer then moves to next position
*++pointer; // moves to the next int location then use that value
*(++pointer); // moves to next location then use that value
+ 3
If you want only increment the pointer (by one), you can do it simply:
pointer++;
Using also dereferentation operator (*) you get the value of pointed memory/var