...
S>Другая реализация применена в C# — там нет никаких отдельных методов, на которые отображается свойство: S>
S>public class A
S>{
S> private int _i;
S> public int I
S> {
S> get { _i = value; }
S> set { return _i; }
S> }
S>}
S>
S>Компилятор сгенерирует пару методов, но получить к ним доступ нормальным способом не получится. Нельзя написать a.SetI(2), потому что никакого SetI нету. Увидеть эти методы можно только копаясь в байт-коде. Имена им придумывает компилятор, и конфликт с пользовательским методом получить тоже не удастся.
public class Conflict
{
private int m_IntValue;
public int IntValue
{
get { return m_IntValue; }
set { m_IntValue = value; }
}
public int get_IntValue()
{
return 0;
}
}
?
... << RSDN@Home 1.2.0 alpha rev. 693>>
Re[18]: Существуют ли задачи, где использование GOTO оправда
Здравствуйте, Eugeny__, Вы писали:
E__>Хз. По мне, исходный кусок отвратительно читабелен. То, что в нем меньше символов, не говорит в его пользу. Приведенный NBN код куда более структурирован, и не вызывает головной боли при прочтении, по крайней мере.
Исходный кусок написан корректно, в отличии от приведенного NBN, который теперь содержит ошибку и не эквивалентен исходному
Сможете указать где баг в этом "читабельном" коде и исправить ее?
Re[8]: Существуют ли задачи, где использование GOTO оправдан
Здравствуйте, unreg_flex, Вы писали:
NBN>>Лично я бы записал бы примерно в таком стиле ...
_>Как говорил наш препод, главное при оптимизации кода, не изменить результат его работы
Возрадуйся:
if( !EstimateContourDim3( i, j ) )
break;
А какое это имеет отношение к стилю?
Нужно разобрать угил.
Re: Существуют ли задачи, где использование GOTO оправдано?
Здравствуйте, Vedrus, Вы писали:
V>Люди, кто-нибудь может привести пример, где использование GOTO оправдано? Я знаю, что существуют такие задачи, но слабо представляю, как это в живую выглядит. Вроде в синтаксических анализаторах используется, и в очень сложных математических расчётах.
V>Сейчас практически все мои знакомые программисты считают, что использование GOTO – это признак кривизны кода. Хотелось бы их разубедить.
> V>Вопрос не в том, что препод лох. Он мне аргументированно объяснил. Препод математик, и очень хорошо разбирается в структурном программировании. Бывает объективная необходимость во включении GOTO, для увеличения быстродействия. Мне бы хотелось услышать ответы от тех, кто считает, что GOTO имеет право на жизнь с конкретными примерами. Остальные не обижайтесь, но не надо писать сюда. > > здесь пример кода с xml парсером, где GOTO оператор имеет право на жизнь (см. функцию ExtractXMLFragmentFromStream). если в двух словах, то в цикле while крутится логика, которая анализирует текущее состояние парсера, и при помощи GOTO значительно увеличивается скорость парсинга.
И насколько оно будет медленнее, если вместо goto там написать просто break?
Posted via RSDN NNTP Server 2.1 beta
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[2]: Существуют ли задачи, где использование GOTO оправдан
Здравствуйте, alexeiz, Вы писали: A>(комикс с goto и динозавром)
Странно, я иногда использую goto, со мной такого не случалось . Наверное, не стоит делать goto JurassicPark .
Пётр Седов (ушёл с RSDN)
Re[3]: Существуют ли задачи, где использование GOTO оправдан
Здравствуйте, Пётр Седов, Вы писали:
ПС>Здравствуйте, alexeiz, Вы писали: A>>(комикс с goto и динозавром) ПС>Странно, я иногда использую goto, со мной такого не случалось . Наверное, не стоит делать goto JurassicPark .
Странно, я уже сколько лет программирую, и ни разу не было ситуации, где бы я хотел применить goto. Разве что правда, в мат алгоритме, который, по совместительству еще и узкое место... Но таких вещей не попадалось, обычно узкое место было сооовсем другое...
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Re[3]: Существуют ли задачи, где использование GOTO оправдан
Здравствуйте, Пётр Седов, Вы писали:
ПС>Здравствуйте, alexeiz, Вы писали: A>>(комикс с goto и динозавром) ПС>Странно, я иногда использую goto, со мной такого не случалось . Наверное, не стоит делать goto JurassicPark .
Твои дни сочтены! Я бы на твоем месте немедленно начал защищать дом от рапторов.
Здравствуйте, Eugeny__, Вы писали:
E__>Странно, я уже сколько лет программирую, и ни разу не было ситуации, где бы я хотел применить goto. Разве что правда, в мат алгоритме, который, по совместительству еще и узкое место... Но таких вещей не попадалось, обычно узкое место было сооовсем другое...
Странно, я уже сколько лет принимаю участие в написании корпоративного клиент-серверного приложения, и ни разу не было ситуации,
где бы я хотел вычислить гиперболический арктангенс.
Странно, я уже несколько лет пишу драйверы, и ни разу не было ситуации, где бы мне понадобился XML парсер.
...
Это так, к слову.
Все зависит от области в которой вы работаете, и именно эта область зачастую определяет
возникновение или не возникновение определенных ситуаций.
Я тоже много лет программирую, и на целую огромную библиотеку у меня возникло всего 2-3 участка кода где есть гото.
Но это вовсе не значит, что нужно бросаться и вырезать их оттуда любой ценой.
Re: Существуют ли задачи, где использование GOTO оправдано?
Здравствуйте, Vedrus, Вы писали:
V>Люди, кто-нибудь может привести пример, где использование GOTO оправдано? Я знаю, что существуют такие задачи, но слабо представляю, как это в живую выглядит. Вроде в синтаксических анализаторах используется, и в очень сложных математических расчётах.
V>Сейчас практически все мои знакомые программисты считают, что использование GOTO – это признак кривизны кода. Хотелось бы их разубедить.
Приходиться использовать в T-SQL
Программист — это шаман..., подарите бубен!
Re[2]: Существуют ли задачи, где использование GOTO оправдан
Здравствуйте, Vedrus, Вы писали:
V>Люди, кто-нибудь может привести пример, где использование GOTO оправдано? Я знаю, что существуют такие задачи, но слабо представляю, как это в живую выглядит. Вроде в синтаксических анализаторах используется, и в очень сложных математических расчётах.
Если нужно например передать управление на адрес, например, 0x98140923, то однозначно оправдано.
Жалко в С++ так не прокатит
Я видел куски кода, где операторов goto больше чем всех остальных операторов вместе взятых. Если добавить к этому, что практически все переменные там были глобальные, их имена — сокращения на невероятной смеси транслита и английского, в которой от каждого слова вставлено 1-2 буквы, выравнивания кода нет в принципе, а комментарии используются исключительно для комментирования неработающих почему-то кусков кода... то после 10 минут работы с этим хотелось запретить не только goto, но и все не-ООП возможности С++, а ООП сделать в 100 раз строже.
Однако, здравый смысл учит нас — запрещать возможности все-же не стоит. goto не такая уж мощная и распространенная возможность языка, чтобы из-за нее спорить. К тому же, по сравнению с ассемблером операцию безусловного перехода сильно урезали, и в существующем урезанном виде goto в общем никому особо не нужен. Ведь метка — это ни что иное как константный указатель на код программы, и если бы ее можно было использовать именно в этом качестве... В С++ это уже затруднительно, не говоря уже о C# и Java; но в Си никаких препятствий не было... можно было ввести тип label и создавать переменные-метки и массивы меток.
Хотя и это лишь возможность, востребованность которой все-же под вопросом. Возможно, какие-то сложные автоматы?
Насколько часто используются в современных программах массивы указателей на функции? Думаю, что не часто.
Re[3]: Существуют ли задачи, где использование GOTO оправдан
Здравствуйте, NikeByNike, Вы писали:
NBN>Здравствуйте, Bigger, Вы писали:
B>>Приходиться использовать в T-SQL
NBN>Мне казалось разговор шёл в контексте С++'а.
> S>И насколько оно будет медленнее, если вместо goto там написать просто break? > > break там ни к месту, если вы смотрели код внимательно.
Может я конечно что-то и проглядел, но все goto там только и делают, что осуществляют выход из switch. При этом я не обнаружил ни одного места, где goto были бы во вложенных в switch циклах. Так что лучше просто скажите, где конкретно break там не подходит?
Posted via RSDN NNTP Server 2.1 beta
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[9]: Существуют ли задачи, где использование GOTO оправдан