![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
zim22 |
|
||||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 24 Всего: 69 |
День добрый.
Последнее время я пишу на C/Objective-C и уже подзабыл С++ Можете мне сказать, в чём преимущество != перед < ? Я что-то смутно помню насчёт того, что != реализован для всех типов итераторов, а < только для определённых И некоторые STL алгоритмы не работают с <, но работают с != Освежите пожалуйста мою память. Я хочу ввести такой стандарт кодирования:
Но некоторые люди настаивают на <
|
||||
|
|||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 24 Всего: 69 |
но т.к. в С/Objective-C нету итераторов, то аргумент в пользу != думаю будет звучать не очень убедительно.
тем более что защитники < аргументируют это тем, что в такой ситуации
оператор < отработает корректно, а != приведёт к вечному циклу. неужели оператор != проиграл? а я так его любил ![]() |
|||
|
||||
borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
для простых типов ( int и т.п. ) лучше использовать < 1. начальное значение может быть не 0, а значение переменной
будет бесконечный цикл при start > 5 2. ну и твой пример с +=2 а для итераторов можно использовать только !=, т.к. в такой конструкции
сам понимаешь, что будет Это сообщение отредактировал(а) borisbn - 7.7.2010, 17:43 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 24 Всего: 69 |
как по мне - там всё нормально будет. или я сам не понимаю? ![]() Это сообщение отредактировал(а) zim22 - 7.7.2010, 17:57 |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Только если iterator является соответствует спецификации random_access_iterator. Если это просто итератор (list::iterator, map::iterator, set::iterator, istream_iterator), то цикл не скомпилируется. |
|||
|
||||
Kurganec |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 6.6.2008 Где: СПБ Репутация: нет Всего: нет |
немного не в тему, но...
почему для итерраторов в цикле предпочительно использовать преинкрементацию? В книге Макса Шлее написано, что "Это позволяет избежать при каждом витке цикла, сохранение старого значения". Или это относится только к Tulip ? Или это дело привычки? Это сообщение отредактировал(а) Kurganec - 7.7.2010, 21:13 |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
Если не ошибаюсь, Страуструп писал, что один из очень плохих способов вводить стандарты кодирования для C++ - просто дополнять уже имеющиеся стандарты для C.
Про Objective-C знаю немного, но насколько я понимаю, отличается от C++ он очень сильно. Стоит ли при разработке стандартов для него думать о C++? Это сообщение отредактировал(а) maxim1000 - 7.7.2010, 23:49 -------------------- qqq |
|||
|
||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 24 Всего: 69 |
для Objective-C думать не стоит о С++. но у нас смешанный код. С/С++/Objective-C/Objective-C++ |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
zim22
Я не думаю, что это тема для стандарта кодирования. Все эти стандарты только мешают работать, я в стандарты вводил только правила оформления кода, остальное проверялось на этапе code review. |
|||
|
||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 24 Всего: 69 |
azesmcar, code review - это следующее, что я собираюсь ввести
![]() |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
||||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Это сообщение отредактировал(а) bsa - 12.7.2010, 12:57 |
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
офтоп:
а можно в кратце про проект: 1. для чего вам понадобился такой зоопарк языков? 2. следствеи п.1 это какое-то кросс приложение - есть какая-то общая часть кодна на С++, а все остальное .... 3. Ведь Objective-C == C(но не на оборот), тогда Вы может запутались и используете только Objective-C++ ? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |