W jednym przypadku miałabyś inkrementację wartości wskaźnika, czyli zmianę jego wartości o 1, a w drugim pobranie wartości, ale o 1 większej bez jej zmiany:
Poprawiony kod:
#include <iostream>
void log(int value) {
std::cout << value << "\n";
}
int main() {
int* post = new int(0);
int* pre = new int(0);
int* wsk3 = new int(0);
log(*post);
log(*pre);
log(*wsk3);
std::cout << "\n";
log((*post)++); // postinkrementacja
log(++(*pre)); // preinkrementacja
log(*wsk3 = *wsk3 + 1);
std::cout << "\n";
log(*post);
log(*pre);
log(*wsk3);
delete post;
delete pre;
delete wsk3;
}