Задать вопрос
evgeniy8705
@evgeniy8705
Повелитель вселенной

Почему не меняется значение переменной после выражения (a = b) в decltype?

#include <iostream>

int main()
{	
	int a = 3;
	int b = 4;
	decltype(a) c = a; // 3
	decltype(a = b) d = a; // int& d = a

	std::cout << a << std::endl; // 3
	std::cout << b << std::endl; // 4
	std::cout << c << std::endl; // 3
	std::cout << d << std::endl; // 3

	return 0;
}

В последнем decltype записывается а = b. Почему а все равно остается равная 3 а не ставновится равная 4? Разве а = b в скобках decltypeэто не тоже самое что записать присвоение отдельно?
  • Вопрос задан
  • 72 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
Adamos
@Adamos
decltype - это конструкция для компилятора. Она не выполняется в рантайме вообще.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы