![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| slutsker |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 24.5.2007 Репутация: нет Всего: нет |
вот к примеру хочу проиничциализировать перем а1 до а20, если к примеру написать
то 20 раз проиниц перем ai... как же реализовать инициализацию в цикле --------------------
Compiling...project.cppLinking...Embedding manifest...========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ========== |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| OKaDO |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 28.6.2005 Репутация: нет Всего: нет |
Очень интересный вопрос...
А массивами не пробовал пользоваться
|
|||
|
||||
| slutsker |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 24.5.2007 Репутация: нет Всего: нет |
Daevaorn, будешь смеяться но я это спрашивал, чтобы применить к массивам
только не предлогайте двумерные массивы)))) я привел простой пример, там идут цифры, а что делать если ты хочешь проинициализировать перем от a до z или еще в таком роде... неужели нет ниакого способа? Это сообщение отредактировал(а) slutsker - 30.7.2007, 09:15 --------------------
Compiling...project.cppLinking...Embedding manifest...========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ========== |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| slutsker |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 24.5.2007 Репутация: нет Всего: нет |
OKaDO, спасибо за совет, но тоже самое я предложил в этом топикена 5 минут раньше!
наверно я в курсе как создать массив!)))) --------------------
Compiling...project.cppLinking...Embedding manifest...========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ========== |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
slutsker, я вот читаю все твои здесь сообщения и у меня возникает ощущение, что телепатических способностей мне явно не хватает, чтобы тебя понять. В частности, ты хочешь проинициализировать переменные a, b, c, ... z в цикле или хочешь присвоить элементам массива значения 'a', 'b', 'c', ... 'z'? Если первое, то это нереально. Если второе, то:
|
|||
|
||||
| OKaDO |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 28.6.2005 Репутация: нет Всего: нет |
Не спорю... просто не совсем был понятен вопрос |
|||
|
||||
| slutsker |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 24.5.2007 Репутация: нет Всего: нет |
bsa, первое!!! но только с оговорками...
вот я и хотел узнать реально это или нет! --------------------
Compiling...project.cppLinking...Embedding manifest...========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ========== |
|||
|
||||
| dizzy1984 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 15.2.2007 Репутация: 3 Всего: 25 |
Инициализация переменых a1-a20
Инициализация массива из 20-ти элементов
Если данные однородные, используй массив и цикл для работы с ним. Если данные логически различаются, инициализируй каждую переменную отдельно. |
||||
|
|||||
| Solomon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 23.1.2006 Где: Украина Киев Репутация: нет Всего: 2 |
Зачем??? можеш привести пример где a1...a20 удобнее использовать чем a[20]???? -------------------- Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром... Соломон 2008 |
|||
|
||||
| akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: 1 Всего: 5 |
Реально, но уж больно неоптимально. Выделяешь кусок памяти, достаточный чтобы уложить туда по порядку переменные от a до z, а потом в цикле делаешь инкремент указателя. Сами а-z в цикле не фигурируют, обращаещься к ним потом. Вроде так, но я давно не писал. Могу ошибиться. Хотя и этот способ похож на работу с массивом.
Типа хезы E t1[N]; E *a = &t1[0]; E *b = &t1[1]; ..... E *z = &t1[N-1]; for(int i=0;i<N;i++) t1[i]=(T)i; а вот прокатит ли E *ai=&t1[0]; for(int i=0;i<N;i++) *ai++=i; ...ыхгм. В принципе, можно и оператор отоверлоадить, чтобы он в цикле жучил ai=i; а на самом деле инициализировал a-z по порядку. Что-то из этого сработает... только зачем? Это сообщение отредактировал(а) akizelokro - 30.7.2007, 13:31 -------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
| slutsker |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 24.5.2007 Репутация: нет Всего: нет |
это мне подходит))))) --------------------
Compiling...project.cppLinking...Embedding manifest...========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ========== |
||||
|
|||||
| dizzy1984 |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 15.2.2007 Репутация: 3 Всего: 25 |
Часть 3d-движка, основная процедура занимается трассировкой лучей для определения расстояния до ближаешего препятствия относительно позиции игрока. Среди определений к типу long int относится 20 переменных.
Места использования выглядят примерно так
А теперь представь что было бы, если бы мы записали их как массив из 20-ти переменных long int. Что было бы с читаемостью и самодокументируемостью такого кода. |
||||||
|
|||||||
| zkv |
|
||||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
а так:
не утверждаю, что так лучше, как альтернативу привел |
||||
|
|||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |