J
expert
offline
Опыт:
48,447Активность: |
принцып работы этих примеров настолько различны что сравнение считаю неверным=) |
19.11.2008, 13:58 | #21
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
online
Опыт: отключен
|
Цитата:
+1. Там нет свича, в жассе. и все. это всеравно что сравнивать циклы и рекурсивные ф-ции |
|
19.11.2008, 14:01 | #22
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
Цитата:
милые мои научитесь читать, я просто показал как можно ифом делать тоже что и свитчем, ну разве что мы теряем брик тогда Цитата:
гений детектед :pray: |
||
19.11.2008, 18:50 | #23
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
user_jasser
offline
Опыт:
232Активность: |
Цитата:
Jon обоснуй.. вот единственно верный оф_ документ тут и про case (swich) тоже есть... ^^^ |
|
20.11.2008, 01:53 | #24
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
Цитата:
Отредактировано Jon, 20.11.2008 в 12:56. |
|
20.11.2008, 03:59 | #25
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Elemental
Element Of Water
offline
Опыт:
1,072Активность: |
Адольф, ну через ИФ перебирать то это и так понятно.. Но хотелось бы всё таки именно СВИТЧ.. Он по-моему намного удобнее ИФов.. (Думаю данный вопрос о СВИТЧ закрыт) |
20.11.2008, 08:42 | #26
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DFlyer
<3 MJ
offline
Опыт:
42,879Активность: |
Elemental
Проблема-то в том, что это джазз, ане с++. Тут свитча просто нет. Есть exitwhen и return. |
20.11.2008, 09:12 | #27
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
Цитата:
тот же самый жампинг, только по разным условиям и на разные метки) коренных отличий нету, тем более что впринципе можно создавать идентичные алгоритмы как на том, так и на другом) ну это с моей кулхацкерской точки зрения |
|
20.11.2008, 13:23 | #28
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
по крайне мере кореное отличие в оптимальности, if будет по порядку все условия проходить, и условия моут быть любыми, а свитч сразу находит нужное значение, будть оно 1-ым или 666-ым в списке, и оно должно быть int и извесно на этапе компиляции, ничего схожего невижу... |
20.11.2008, 13:38 | #29
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,712Активность: |
Цитата:
Цитата:
напиши этот оператор в C и посмотри во что он компилится никаких коренных отличий в работе операторов нет вообще советую внимательно MSDN почитать... |
||
20.11.2008, 13:41 | #30
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
Цитата:
это не правда » cpp Код:
» а вот что мне говорит по этому поводу оля *love* Код:
ADOLF добавил: Цитата:
за такое имхо афторов компиля надо расстреливать=/ © ADOLF нда, это бред какой-то, хренова оптимизация... btw я olly уже давно на ida заменил © NT спс, гляну что за зверь ида) мну больше добило что в начале с еаксом твориться © ADOLF Отредактировано ADOLF, 20.11.2008 в 16:27. |
||
20.11.2008, 13:58 | #31
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
он не проверяет их все попорядку, точнее проверяет но не во всех случаях, он используется case как метки для перехода к нужному блоку кода, встречая инструкцию break делает переход сразу к следующей инструкции после свитча, это получается очень красиво когда case идут по порядку, если они например все четные компиль цука видит это и просто делит индексы меткок на 2, ну это чисто простейший пример, + это в некоторой степень зависит от компиля (у меня VS2008), также в некоторых комплях для этого должна быть в настройках проекта включена оптимизация Отредактировано Jon, 20.11.2008 в 16:26. |
20.11.2008, 15:44 | #32
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
Цитата:
т.е. как это? как раз проверяет Цитата:
я конечно хз, мб и бывают такие мего умные компили, но имхо это уже исключение вообще можно написать мегонавороченный алгоритм, к примеру если все значения с которыми сравнивается "расположены близко" (ну к примеру от 0 до 63) - сделать таблицу меток, и просто жампать по метке, но опять же это уже немного не о том) ADOLF добавил: хаха, поигрался с настройкой оптимизации... =) при средних настройках так и остаеться mov eax, 0. а дальше еще смешнее) вплоть до finit мне мой внутренний голос подсказывает что в этом коде фпу ну никак не нужен... ладно, ясно что компиль кг/ам |
||
20.11.2008, 16:50 | #33
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
Цитата:
Цитата:
Отредактировано Jon, 20.11.2008 в 17:05. |
||
20.11.2008, 16:59 | #34
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
Цитата:
нет, такой подход означает прыжок на метку, исполнения инструкций по ней и безусловный прыжок в конец свитча, ну т.е. на след код. тогда все case должны были бы быть с бриками, и небыло бы дефолта. честно говоря я очень сомневаюсь что компиль будет настолько "вникать в код" и делать это. чудес не бывает © ADOLF |
|
20.11.2008, 17:06 | #35
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
ну естествено нельзя будет сформировать таблицу меток во всех случаях, но именно так вроде свитч и работает в идиале :хз:
Цитата:
Jon добавил: во http://forum.ztu.edu.ua/showthread.php?p=73532 6 пост Отредактировано Jon, 20.11.2008 в 20:47. |
|
20.11.2008, 17:15 | #36
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
ок, ну там как я и говорил, это относиться только к свитчам, которые все с бриками, не имеют дефолта, и сравниваемые значение идут рядом, и то это делает хз каждый ли компиль, более того с точки зрения алгоритма это вообще не как не влияет на выходные данные
вобщем разговор можно считать оконченным |
21.11.2008, 10:29 | #37
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|