От чего зависит смещение указателя?.
Смещение указателя зависит от размера типа данных, на который он указывает. В случае с типом данных long, его размер может быть разным в зависимости от архитектуры компьютера.
В вашем примере long *a = new long(5)
, вы создаете указатель на тип данных long и выделяете память под одно значение типа long, равное 5.
Смещение указателя при инкременте (++a
) зависит от размера типа данных, на который он указывает. В вашем случае, если long занимает 4 байта, то смещение будет на 4 байта.
Однако, если на вашей архитектуре long занимает 8 байт (как это обычно бывает на 64-битных системах), то смещение будет на 8 байт.
Таким образом, смещение указателя зависит от размера типа данных, а не от размера самого указателя.