Поддержка > Руководства и инструкции

Объявление переменных разных типов в циклах [C++]

(1/1)

volandlm:
Недавно узнал любопытную вещь, о которой вообще говоря мало кто знает, а уж в реальном коде я такого не встречал вовсе. Речь идёт о возможности объявлять в циклах переменные разных типов. Это безобразие можно сотворить с помощью неименованной структуры:


--- Код: ---const long N = VERY_VERY_LONG_VALUE;/*очень_очень_большое значение ;-) */
for( struct {int i; long i2;} x = {1, 1}; x.i2 < N; x.i++, x.i2 = x.i * x.i )
{
  std::cout << x.i2 << std::endl;
}

--- Конец кода ---
Если вы пользуетесь компилятором от Microsoft, то вас ждёт разочарование - это не работает в MSVC++. Можно потренироваться в GNU C++ (сам проверял) и в Comeau (а вот это только по слухам).

P.S. Кстати, в качестве VERY_VERY_LONG_VALUE отлично будет смотреться Ответ на главный вопрос жизни, вселенной и всего такого ;-)

Навигация

[0] Главная страница сообщений

Перейти к полной версии