Оператор B печатает значение объекта, на который указывает pInt.Он указывает на int со значением 32, поэтому печатает 32.
Операторы A и C не определены.Печатным объектом в обоих случаях является указатель, который на уровне машины является адресом памяти.Большинство компиляторов печатают шестнадцатеричное число, хотя нет гарантии, что это будет сделано.Значение также будет зависеть от того, где хранятся объекты.Например, g ++ в 32-битной Windows Vista на моем компьютере печатает:
0x900ee8
32
0x22ff1c
Borland печатает:
016E33B0
32
0012FF50
Visual C ++ печатает
00131D10
32
0028FE24
Возможно, выполучить разные результаты.Первое число - это адрес, выделенный новым int () из кучи и сохраненный в pInt.Он выделил 4-байтовый массив, сохранил число 32 и сохранил адрес в pInt.Второе число - это сохраненное значение, интерпретируемое как int.Третье число - это адрес (в стеке) pInt.