Форум программистов, компьютерный форум CyberForum.ru

Несколько стартовых переменных в for - C++

Восстановить пароль Регистрация
 
NeoXidizer
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 4
30.06.2012, 03:00     Несколько стартовых переменных в for #1
Возможна ли такая конструкция
C++
1
for (int i = 0, int x = 0; i < 5; ++i, ++x) {}
если да, то каков верный синтаксис?
Тот вариант, который я написал, выдает 3 ошибки:
error: expected unqualified-id before `int`
error: `x` was not declared in this score
error: expected `;` before `)` token
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2012, 03:00     Несколько стартовых переменных в for
Посмотрите здесь:

C++ Перечисление переменных
C++ Возвращение результатов функции в несколько переменных
Значение переменных C++
C++ Массив из переменных
Передача переменных C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrey.K
 Аватар для Andrey.K
338 / 259 / 15
Регистрация: 14.11.2010
Сообщений: 480
30.06.2012, 03:22     Несколько стартовых переменных в for #2
Правильно так:
C++
1
for(int i=0,j=0-5,k=3;k<100;j++,k++,i++) { }
Объялено мб много переменный, а условие должно быть всегда одно.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,397
30.06.2012, 05:13     Несколько стартовых переменных в for #3
второй int лишний
C++
1
for (int i = 0, x = 0; i < 5; ++i, ++x) {}
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
30.06.2012, 07:06     Несколько стартовых переменных в for #4
Цитата Сообщение от Andrey.K Посмотреть сообщение
а условие должно быть всегда одно.
Да, но одно условие может быть и составным.
C++
1
2
3
4
5
for int i=0, j=2; k=4; (i<40)&&(k<10); ++i, ++j)
{
 ...
 k=...
}
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.06.2012, 07:28     Несколько стартовых переменных в for #5
Цитата Сообщение от Andrey.K Посмотреть сообщение
Правильно так:
C++
1
for(int i=0,j=0-5,k=3;k<100;j++,k++,i++) { }
а условие должно быть всегда одно.
Или не одного:
C++
1
for( ; ; ) { }
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
30.06.2012, 07:48     Несколько стартовых переменных в for #6
Цитата Сообщение от alsav22 Посмотреть сообщение
Или не одного:
Тогда выход по брейку, что есть костыль. А кто на них ходит? Софту же не полагается инвалидность.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.06.2012, 08:10     Несколько стартовых переменных в for #7
Цитата Сообщение от taras atavin Посмотреть сообщение
что есть костыль
Если можно, поподробнее. Выход из цикла по брейку - плохой стиль программирования?
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
30.06.2012, 09:05     Несколько стартовых переменных в for #8
А разве хороший? Представь себе цик на тройку-пятёрку экранов по высоте и где нибудь в середи его торчит выход по брейку. А теперь прошу оценку времени, которое у тебя уйдёт на понимание того, как именно он выходит и по какому точно условию. Наличие брейка можно понять по бесконечному заголовку, а конкретное условие придётся долго искать. Если же условие вынесено в заголовок, то оно читается сразу. Можно ещё понять, если альтернативой будет комбинация континью с условием, тогда лучше уж брейк. А в остальных случаях следует избегать.
NeoXidizer
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 4
30.06.2012, 13:57  [ТС]     Несколько стартовых переменных в for #9
спасибо всем, и опять вопрос:
возможно ли? если да, то как
C++
1
2
3
for (int i = 0; i < 2; ++i) {
    for (int in = 0; i < (i ? 3 : 4); ++in) {}
}
тоесть при второй итерации, внутренний for будет выполняться 3 раза, при первой итерации - 4

Добавлено через 19 минут
C++
1
2
3
for (int i = 0; i < 2; ++i) {
    for (int in = 0; in < (i ? 3 : 4); ++in) {}
}
исправил опечатку

Добавлено через 12 минут
да, так возможно, из-за опечатки выдавало не верный результат. Спасибо всем
silent_1991
01.07.2012, 18:24
  #10
 Комментарий модератора 
Продолжение обсуждения размеров циклов и производительности здесь.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2012, 04:18     Несколько стартовых переменных в for
Еще ссылки по теме:

C++ Даны 5 переменных a,b,c,d,e - необходимо каждой из этих переменных присвоить число из текстового документа
Как автоматически создать несколько переменных с разными именами? C++
Pthread_create несколько переменных C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.07.2012, 04:18     Несколько стартовых переменных в for #11
Цитата Сообщение от taras atavin Посмотреть сообщение
Тогда выход по брейку, что есть костыль. А кто на них ходит? Софту же не полагается инвалидность.
А как тогда цитата из Страуструпа:"...Полезным примером использования цикла for является случай, когда явно не указывется условие завершения:
C++
1
2
3
for(;;) { // вечно
//...
}
Yandex
Объявления
06.07.2012, 04:18     Несколько стартовых переменных в for
Ответ Создать тему
Опции темы

Текущее время: 10:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru