int x = 2;
volatile int y = 2;
const int z = x/y;
int main(){
int x = 2 + 3;
double d = 7 / 3;
}
У меня есть три вопроса:
Во-первых, может ли компилятор вычислить значение 'z' в время компиляции в данном случае равно 1?
Во-вторых, я заметил, что компилятор не генерирует инструкции сборки для добавления 2 и 3 для инициализации x. Он напрямую инициализирует x с помощью 5. Можно ли сделать то же самое с 'd'?
В-третьих, есть ли какая-нибудь хорошая книга по этим двум концепциям? Любые цитаты из Стандарта были бы полезны (Стандартный документ кажется интересным, хотя и очень страшным)