![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
Да на форумах часто панически обрисовывают знаменитый goto и внушают страх. И его "навязчивость" появляется из за "страха" использования, а ничего страшного в нем нет. Просто в современных языках есть средства безопаснее и лучше, по сравнению с которыми конструкция с goto выглядит мягко сказать ущербной. В общем случае goto также как и union применим тогда, когда остальные средства бессильны. P.S. Правда пока не приходилось встречаться с ситуацией (в Cpp), где хотя бы вспомнилось о goto, не говоря о появлении желания его использования. Модератор: тема выделена из union Это сообщение отредактировал(а) bsa - 13.3.2009, 15:31 |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
mes, ну почему же? о проблемах гото в чуть ли не в каждой книге говорится...зачем же ставить его на одну полку с union?
|
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 1 Всего: 59 |
У goto нет проблем. Он сам по себе. Проблемы могут быть только у программиста ![]() На самом деле если задаться целью, то можно обойтись без любой конструкции языка. Вот только оно надо? Мне не было нужды использовать union, но это вовсе не значит, что я его сознательно избегаю. Если он мне понадобится - буду пользовать. Главное знать, что такое есть. |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
если у программиста в следствии использования гото будут проблемы он скорее всего удалит гото и напишите что нибудь получше, следовательно проблемы будут у гото..его просто напросто удалят (прервут его жалкое существование). А это уже проблема ;) |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
![]() ![]() ![]() |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
Вы предвзяты! "били" бы только за то что использовали стандартный оператор ?!! ![]() Это сообщение отредактировал(а) mes - 13.3.2009, 14:22 |
|||
|
||||
Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: нет Всего: 41 |
Ребята, вы че-то завернули не туда куда-то от темы, да еще и заморочились
![]() -------------------- |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
ну я бы не стал воспринимать все так буквально ![]() |
|||
|
||||
bsa |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: нет Всего: 196 |
Предложи крассивое решение по замене goto без пессимизации кода:
|
||||
|
|||||
azesmcar |
|
||||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
так
или так...
непонял что имеется ввиду под
может это считается пессимизацией, но по моему все равно лучше писать так чем гото ![]() Это сообщение отредактировал(а) azesmcar - 13.3.2009, 14:50 |
||||||
|
|||||||
Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: нет Всего: 41 |
в данном случае гото лучше - 100%.
мне не нравится гото, когда назад он кидает, а когда вперед, очень даже ничего... -------------------- |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
а теперь представьте при 5ти уровневом (или более) вложении циклов ![]() решение в лоб посредством флага не очень красивое и может (в каких то случаях) помочь лишь смена алгоритма. ![]() |
|||
|
||||
azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
кстати вот этот код вылетит при запуске.
Добавлено через 1 минуту и 25 секунд
пятиуровневые циклы и из каждого возможно нужно прекратить все..немного надуманно, но я бы такое решил с помощью функций.. |
||||
|
|||||
Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: нет Всего: 41 |
и между кодом bsa и azesmcar я бы равно не поставил
![]() -------------------- |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
![]() ![]() ![]() Боюсь Вас удивить, но этот тоже :
и при чем здесь тогда goto ?! Это сообщение отредактировал(а) mes - 13.3.2009, 15:12 |
|||
|
||||
azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
можно этото избежать с помощью 1. смены алгоритма 2. выделить каждый цикл в функции или реализовать рекурсией (если уж так сильно нужна такая вложенность) 3. как я написал выше 4. используя гото 5. используя исключения мне кажется любую задачу где возникла необходимость решить с помощью гото, можно решить первыми тремя способами. И они как правило лучше. А исключениями вообще не стоит. Добавлено @ 15:17
пора в отпуск... Это сообщение отредактировал(а) azesmcar - 13.3.2009, 15:17 |
||||
|
|||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
про юнион все и забыли
![]() вот тут нашел дискуссию по этому поводу... http://forum.shelek.ru/index.php/topic,9852.0.html давайте сразу и тему в религиозные войны перенесем ![]() |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
"Как правило " это "не всегда". И, как правило, у каждого правила есть исключения.. ![]() Именно поэтому нельзя подходить к вопросу категорично. Новичков отпугивают от goto, потому что большая вероятность, что он будет его писать везде без разбора, а если человек понимает всю степень ответственности и сознательно выбрал этот подход, то наверняка это лучший(по крайней мере не хуже другого) из вариантов. ![]() |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
Ну раз уж модератор выделил в отдельную тему скажу
До сих пор я выражал свое субьективное мнение по данному вопросу ![]() цитата: Бьерн Страуструп
любой оператор в неумелых руках может привести к нечитабельности кода и его неадекватному поведению, если писать правильно то все будет нормально, вопрос только в том что не рекомендуется использовать некоторые операторы и возможности С++, поскольку есть их более безопасные аналоги и можно обойтись и без них. Лично для меня обьективное мнение что гото в некоторых редких случая оправда - не меняет мой взгляд на этот оператор и мое субьективное мнение остается при мне ![]() |
|||
|
||||
Rififi |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: нет Всего: 36 |
bsa,
Предложи крассивое решение по замене goto без пессимизации кода: try/catch, longjmp (это жОстко ((: ) ? |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: нет Всего: 196 |
Я только однажды использовал goto, более того, расширение gcc:
|
|||
|
||||
azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
рекомендуется использовать только для отлова ошибок. Сатер - Решение новых сложных задач на С++ ![]() Добавлено через 3 минуты и 1 секунду
это уже что-то вроде низкоуровнего программирования, тогда чтобы что-то использовать никакие оправдания не нужны ![]() ![]() |
||||
|
|||||
Albor |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 589 Регистрация: 28.2.2009 Репутация: нет Всего: 9 |
Страуструп по этому поводу говорит, что применение goto свидетельствует о том, что плохо продуман алгоритм (неточное цитирование, нет под рукой книги). Поэтому, наверное, такой ажиотаж вокруг этого. Это сообщение отредактировал(а) Albor - 13.3.2009, 15:57 |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
bsa, в случае не очень критичного кода это можно было бы с успехом заменить на
std::map<int, function_ptr> не так ли ![]() |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
а почему не просто массив функций ? ![]() |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: нет Всего: 196 |
нет конечно, я бы заменил на статический массив указателей на функцию, так как "ключи" имеют значения от 0 до 255. Использование map в данном случае, было бы пессимизацией. |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
ну я же не знаю какие у тебя значения имели ключи..у меня был случай когда ключи было не очередны, т.е. 1, 10, 50, 143, 354..но я тоже тут использовал статический массив ради констаной скорости поиска..смотря чего нужно добится ![]() |
|||
|
||||
mes |
|
||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
можно сделать предположение по массиву меток :
и этот пример (который привел bsa) обсуждался в этой теме : http://forum.vingrad.ru/forum/topic-208226...tml#st_0_view_0 Это сообщение отредактировал(а) mes - 13.3.2009, 16:11 |
||||
|
|||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
bsa, кстати, можно было и по другому.
компилятор 99% преобразует это в таблицу переходов, т.е. в принципе в то что ты написал с помощью гото ![]() Добавлено через 1 минуту и 16 секунд mes, не важно, я сам принцип имел ввиду.. Добавлено через 5 минут и 30 секунд mes, в теме которую ты прислал - ты сам привел несколько причин по которым использование гото нежелательно..я тоже люблю поспорить, но о чем мы спорим если мы думаем одинаково? ![]() |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
обратите внимание, что и в той теме я не писал об категоричном отказе от goto, а то что у goto много недостатков я и не спорю. о предвзятости и катeгоричности ![]() судя по высказываниям , то если о плохих чертах думаем одинаково, то о хороших чертах goto по разному ![]() не всегда можно/удобно применить такой подход (из за нехватки динамичности) Это сообщение отредактировал(а) mes - 13.3.2009, 16:37 |
|||
|
||||
azesmcar |
|
||||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
каждый имеет право на свое субьективное категоричное мнение ![]()
не совсем, просто для меня, плохие черты, затмевают хорошие.
не совсем понял, если можно приведи пример когда не удобно? |
||||||
|
|||||||
mes |
|
||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
нда.. 1. например если каждому case соответсвует функция/callback, и индексы расположены линейно, то switch просто излишен 2. когда необходимо динамическое изменение соответсвий индекса выполнению, а также их количество - автомат состояний. .. Это сообщение отредактировал(а) mes - 13.3.2009, 18:19 |
||||
|
|||||
azesmcar |
|
||||||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
и еще я сказал
это было сказано в шутку, и поскольку в каждой шутке есть доля правды, раскрою..тут доля правды в том что я бы попросил удалить гото, и вместе с программистом написавшим его, попробовал бы найти другое решение. Надеюсь ты же не серьезно подумал что я буду бить программиста за гото?? ![]() ![]() ![]()
Да и я никому не запрещаю иметь свое мнение по поводу гото, но если за код отвечаю я, я буду делать так чтобы писался легкочитаемый и легкосопровождаемый код..во всяком случае я буду старатся ![]()
так что ничего противоречивого тут нет, пусть имеют свое мнение, у меня тоже свое мнение по поводу стиля программирования, но оно никого не интересует если в компании есть установленный стиль, то же самое тут.. |
||||||||
|
|||||||||
mes |
|
||||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
Я воспринял это как "насильственное" навязывание своего субъективного мнения окружающем без вникания в подробности вместо разъяснения ситуации. И это никак не увязалось с другим Вашим высказыванием о праве каждого на собственное субъективное мнение. ![]()
Это высказывание опять не вяжется с категоричным отрицанием использования goto в программе. Goto не всегда плохо, хотя и часто.
стиль некой компании мы не рассматриваем и на него ориентироваться не будем, потому что зачастую практически в каждом таком стиле есть "злоупотребления во благо", в число которых и входит запрет на использования goto. Это сообщение отредактировал(а) mes - 13.3.2009, 19:44 |
||||||
|
|||||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
нет, это я как грубый пример для сравнения с union привел. В смысле с гото - будут разбирательства, с юнион - не обязательно. Ну я и говорю, каждый имеет право на свое мнение, я тоже, но порой я не имею права писать так как считаю нужным. Я бы с удовольствием переделал все Г которые написали до меня в нашей конторе представители азиатской культуры (то бишь Индусы)..но мне никто не даст переписать код который писали пару лет. Увы...се ля ви ![]() |
|||
|
||||
mes |
|
||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
Этот код реальный ?! или просто "учебный" пример ?
Т.е .Вы согласны, что если бы не указания свыше(стиль фирмы), то если решение с goto безопасное и изящнее, чем другая конструкция, то избегать ее только потому что она "goto" не стоит ? ![]() Мне кажется, что тема исчерпала себя и можно ее помечать решенной ![]() |
||||
|
|||||
GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: нет Всего: 26 |
а что скажет общественность о конструкции
|
|||
|
||||
Shaggie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 570 Регистрация: 21.12.2006 Где: outer space Репутация: нет Всего: 72 |
||||
|
||||
azesmcar |
|
||||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
это код индусов коих у нас в компании немеряно ![]() ![]()
если безопаснее и изящнее - нет проблем. Но я лично не встречал случая где его нужно было бы использовать и даже без стиля я бы много много раз подумал перед тем как оставить код с гото ![]()
думаю да ![]() Это сообщение отредактировал(а) azesmcar - 14.3.2009, 08:29 |
||||||
|
|||||||
Lazin |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 4 Всего: 154 |
для Си нормально, для С++ нет |
||||
|
|||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
общественность не знаю, но я согласен с Lazin. ![]() Это сообщение отредактировал(а) mes - 14.3.2009, 15:32 |
|||
|
||||
Remiznik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 30.4.2005 Репутация: нет Всего: 1 |
чото я не понял чем плох ваше goto ?
вот только у меня такой вопрос если переход осушествляеться из функции то функция которая его вызвала закрываеться вместе с её облостью видемости или goto переходть за пределы функци ? |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
goto не может пересекать границы функций, а также перескакивать инициализацию объектов (раньше мог из за чего в основном его и невзлюбили) сейчас в принципе ничем, кроме http://forum.vingrad.ru/index.php?showtopi...t&p=1491970 |
|||
|
||||
GrayCardinal |
|
|||
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: нет Всего: 58 |
Ёшкин кот, сколько можно ?!
![]() ![]() |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
угу подолью масла в огонь я вот вообще не представляю себе жизнь без goto: в С он незаменим (не в плане того, что его нельзя заменить как синтаксическую конструкцию) с кем-то спорить и что-то доазывать не собираюсь, т. к для меня это очевидно и 100 раз пройдено на практике кто не согласен, на 95% уверен, что они не программировали на С серьезные вещи ![]() -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
а кто тут несогласен??? мы тут о C++ разговаривали..
как-то плавно перешли, никто специально не начинал ![]() |
||||
|
|||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
в С++ его использование не приведет ни кчему хорошему в большинстве случаев, но не потому, что goto плох как средство, а потому, что объектная модель С++ мало совместима с непоследовательным выполнением кода через goto о чем спор? ![]() Добавлено через 3 минуты и 38 секунд противникам goto на засыпку привожу код из ядра linux плюйтесь на здоровье тут ![]() -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
вот я о том же говорил ![]()
код ядра линукс написан на С, и в нем оправдано использование любого оператора С который приведет к повышению производительности (ядро все таки)..но тема C++ называлась (с которой эту тему срезали). Это сообщение отредактировал(а) azesmcar - 14.3.2009, 18:11 |
||||
|
|||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
я хотел обратитьвнимание на контекст использования ![]() -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
nerezus |
|
||||||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 13 Всего: 43 |
|
||||||
|
|||||||
azesmcar |
|
||||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
простите, не понял..а как может решить полиморфизм, проблемы которые решает union? примеры использования union описаны тут. http://forum.vingrad.ru/forum/topic-251056.html
ну..одно дело питон, другое С++. Питон я никогда не использовал, даже с синтаксимом не знаком, так что промолчу..но вот исключения в С++
и никоим образом для того чтобы вернуть значение из рекурсивной функции к примеру. (Я попробую найти цитату у Саттера) Это сообщение отредактировал(а) azesmcar - 16.3.2009, 07:48 |
||||||
|
|||||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
union и goto достаточно низкоуровневые средства
в С они используются очень часто goto в C++ опасен, а примеров использования union в C++ я встречал достаточно мало -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
Severyanin |
|
|||
![]() Исследователь ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 31.7.2007 Где: Россия, Омск Репутация: нет Всего: 9 |
![]() MAKCim, я раньше дого думал, как можно на с эмулировать объектную млдель, но исходники линукса показали этот фокус во всей красе)))) -------------------- "Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл "Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов |
|||
|
||||
MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
![]()
угу основной фокус
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
bsa |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: нет Всего: 196 |
Я хоть и не ярый противник, но за это бы убил. Это каким же нестандартным мышлением надо обладать, чтобы написать такое. Ощущение, что кто-то это списывал с ассемблера (сам когда перевожу асм в си подобные конструкции временно горожу, но потом всегда привожу в норму).
|
||||||
|
|||||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
я бы то же хоть я и люблю goto, но прыгать в условие - это семантически неверно исключено -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: нет Всего: 196 |
Подозреваю, что в ядре линукса в большинстве случаев goto используется не из-за необходимости, а по неопытности программиста, который писал этот код.
|
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
хм весьма спорно -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
bsa |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: нет Всего: 196 |
Данный код вообще элементарно преобразовать:
|
||||||
|
|||||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
а вот тут не согласен код с goto предпочтительнее, т. к он более наглядный и сразу видно, для чего он нужен (cleanup) -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
![]() ![]() ![]() |
Правила ведения Религиозных войн | |
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Религиозные войны | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |