![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
Вот статья как Умные дядьки изгнали GOTO из одного языка
Это сообщение отредактировал(а) apook - 14.12.2006, 23:53 Присоединённый файл ( Кол-во скачиваний: 20 ) ![]() -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 1 Всего: 26 |
Жесть.. ![]() GrayCardinal, ![]() -------------------- Жизнь - печальная штука. |
|||
|
||||
UniBomb |
|
|||
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 2 Всего: 97 |
nikitao,
Спасение утопающик - дело рук самих утопающих (или как то так...). Программа может быть написана грамотно и умно, но и без goto нечитабельна... И вообще, читай предложение целиком и не придирайся к отдельной фразе... |
|||
|
||||
Rockie |
|
||||||||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
Это если теоретически написать программу ![]() как насчет тегов кода, запятых и полных слов? =) С примером согласен.
согласен, выход из таких циклов - imho пожалуй единственное оправдание этому оператору, и то с натяжкой ![]()
UniBomb, могут стать твои, если тебя уволят ![]() imho программиста от кулхацкера отличает наличие или отсутствие уважения к коллегам, которые твой код смотрят и с ним работают. Программа может быть написана грамотно и умно с точки зрения того, кто ее писал и быть абсолютным г@#;ом для остальных. И дело тут не в goto а в отношении. -------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
||||||||||
|
|||||||||||
UniBomb |
|
|||
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 2 Всего: 97 |
Rockie,
Опять таки всё зависит от точки зрения. Но сабж пошёл не в то русло, поэтому, прекращая флуд, последнее слово пусть остаётся за тобой. |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
В C даже сомнения нету. Если не извращаться, а осмысленно использовать, то это нормальный и естественный оператор, который не только усложняет восприятие кода, но и упрощает его. В плюсах - лучше воздержаться. Есть множество альтернатив, а goto в плюсах всё же не безопасен.
|
|||
|
||||
UnrealMan |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 722 Регистрация: 30.3.2006 Репутация: 27 Всего: 32 |
||||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
касательно невызывания конструкторов/деструкторов при использовании goto
это не свсем так: если с помощью goto происходит выход из области видимости объекта, его деструктор вызывается в то же время не допускается использование goto, которое приводит к пропуску конструкторов P.S. не то, чтобы я за него агитировал, но и лишнего ему приписывать не надо ![]() -------------------- qqq |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
||||
|
||||
SaDFromSpb |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 5.4.2006 Где: Санкт-Петербург Репутация: 3 Всего: 3 |
Что касается меня, то с тех пор, как препод нам давным давно сказал, что goto - это от дьявола, и что использующий его да будет гореть в геене огненной, так ни разу им и не воспользовался. Считаю, что код можно сделать красивым и удобочитаемым без оператора goto, уж по крайней мере в С++.
По поводу ядра линукс: его пишут особые люди с особым складом программистского ума =). Если начинать прогать с asm'а =), то отказ от оператора goto сперва покажется чем-то диким, наверное. (Хотя кто в наши времена начинает с asm'а? =) ) Эта тема, действительно, может превратиться в долгий флуд, и я не стал бы сюда постить, если бы не вспомнил про одну интересную статейку, в которой представляется чудесный способ избавления от трудных мест в алгоритме со многочисленными ветвлениями и "внезапными" выходами по среди тел воложенных циклов. Алгоритм преобразует алгоритм Эта статья, я думаю, будет особо полезна тем, кто считает, что в некоторых случаях goto - панацея. П.С.: Прошу заметить, что ярым противником goto не являюсь. Хотя был бы неприятно удивлен увидеть его в коде матерого прикладного приложения, написанного на оо языке. Когда он действительно вреден, так это когда его используют начинающие, вместо того, чтобы лучше продумать заковыристый кусок алгоритма. Это сообщение отредактировал(а) SaDFromSpb - 15.12.2006, 23:18 -------------------- "За исключением части, касающейся потоков, библиотека Loki написана на стандартном языке С++. Увы, это означает, что многие современные компиляторы не смогут работать с ней в полном объеме." (А. Александреску. Modern C++ design. 2001) |
|||
|
||||
UnrealMan |
|
||||||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 722 Регистрация: 30.3.2006 Репутация: 27 Всего: 32 |
Не наверное, а точно:
Пропуску любой инициализации вообще:
Вот-вот. Это сообщение отредактировал(а) UnrealMan - 16.12.2006, 11:53 |
||||||||||
|
|||||||||||
FelikZ |
|
|||
![]() Старый Маразматик ![]() ![]() Профиль Группа: Участник Сообщений: 380 Регистрация: 1.12.2006 Где: Vault 13 Репутация: нет Всего: 5 |
По-моему в малом количестве в некоторых специфических задачах
вполне можно употреблять без всяких сомнений... -------------------- ![]() |
|||
|
||||
zabivator |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 7.6.2006 Где: нск Репутация: 1 Всего: 2 |
Читал тему, с кем-то согласен, с кем-то не очень.
Один момент! Вот представьте себе, что идет обход дерева через рекурсивный вызов метода...допустим, для поиска определенного элемента. Использование goto либо кидание исключения мне кажется куда более гуманным, чем традиционные методы. --------------------
#include <zabivator>int main( int, char * [] ){ while( Zabivator::жив() ) Zabivator::моск()++; return 0;} |
|||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
по мне так goto - зло для человека, который читает чужой(большой) код, особенно если goto кидает куда-нить за пределы видимой страницы.. натерпелся с этими метками в асме, в С\С++ ни разу не использовал(надеюсь и не буду) и живу нормально..
![]() P.S народ че случилось с аватарами некоторых участников, я народ путаю.. ![]() |
|||
|
||||
bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
считаю наоборот ![]() ![]() З.Ы.: Если профессор на лекциях говорит студентам, что goto - от дьявола, правду говорит, дабы уберечь молодой организм от злоупотребления и заставить задуматься над проектированием. Но потом, через пару лет, при определенных обстоятельствах, вы вспомните о всемогущем goto и все же используете его... но это уже будет не зеленый студент, а зрелый программист ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |