&operator
может применяться ко всему, что имеет адрес памяти. Вы не можете применить &
к переменным регистра, так как они хранятся в регистрах ЦП.
Также в C
константы не являются константами времени компиляции (т. Е. Всегда выделяется память), поэтому вы можете смело принимать адрес постоянной переменной. Но в C++
, если вы берете адрес переменной const
, она не будет постоянная времени компиляции и будет выделено хранилище.
Редактировать
Под константами я подразумеваю, что переменные, объявленные с ключевыми словами const
, литералами, такими как A, 7, по существу, компилируются во время компиляции. Constants.compiler может напрямую сохранять их в своей таблице символов.