![]() |
|
Модераторы: LSD Страницы: (59) « Первая ... 52 53 [54] 55 56 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]()
|
|
| pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 1 Всего: 36 |
||||
|
||||
| Daevaorn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 5 Всего: 70 |
Ха-ха
Это сообщение отредактировал(а) Daevaorn - 26.1.2007, 10:07 |
||||
|
|||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 14 Всего: 459 |
В этом нет большой необходимости, объекты позволяют вылечить остутствие многих синтакисических конструций.
Фокус в том, что это будет работать быстрее, чем упомянутый case, ведь тут осуществляется бинарный поиск в соритированом списке, тогда как обычный case ищет подряд, а сравнение строк может быть длительной операцией. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 11 Всего: 173 |
С чего это вдруг? Если взять ildasm и посмотреть, во что превращается case по строкам в C#, то окажется, что компилятор так поступает только для небольшого числа вариантов, если же их много, то создаётся экземпляр Dictionary<string, int>, в который забиваются варианты, т.е. поиск осуществляется в хэш-таблице. Синтаксический сахар, но очень удобный. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| Амортизатор2 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 6.2.2006 Репутация: 0 Всего: 2 |
Почему же не могут? Шаблоны - ведь это всего лишь средство для формализации препроцессорной обработки, один из возможных способов реализации обобщенного программирования. Но как раз благодаря этой формализации рождается эффективность. Грубо говоря, на чистых макросах пришлось бы в каждом случае самому устанавливать правила препроцессорной обработки, а в случае с шаблонами мы имеем конкретную спецификацию такой обработки.
У вас, видимо, сомнения в полезности шаблонов? Вам уже привели пример, в котором над переменными с параметризованными типами осуществляются некоторые операции. Некоторые могут возразить, что для этого можно было попросту заставить эти объекты поддерживать определенный интерфейс, к слову, IComparable. Но ведь в этом-то и заключается загвоздка - зачастую приходится производить одни и те же операции над семантически различными объектами, и заставлять их реализовывать определенный интерфейс - архитектурно неприемлимо. Также в случае применения шаблонов компилятору известны типы объектов=> большая типобезпасность, что для С++ аки воздух. |
|||
|
||||
| Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 2 Всего: 7 |
Амортизатор2, как все сложно-то.
Народ давайте пример, который нелья реализовать через автоматизированный copy-paste. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 5 Всего: 70 |
см http://forum.vingrad.ru/index.php?showtopi...t&p=1012801 |
|||
|
||||
| Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 2 Всего: 7 |
Тогда вопрос. Почему это нельзя?
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 5 Всего: 70 |
||||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
А правда - нафиг нам высокоуровневые средства? Мы же не дети, чтобы всякой ерундой пользоваться. ASM + куча автоматизированных вставок конструкций классических алгоритмических конструкций и пр. Многое к тому же директивами реализуется, зависит каким асм-компилером (или как правильно сказать) пользуемся. Долго смеялся над такой фразой. Короче - хватит развивать языки. АСМ рулит. Делаем сверх IDE и всё отлично. Только что-то не верится как-то... |
|||
|
||||
| Амортизатор2 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 6.2.2006 Репутация: 0 Всего: 2 |
Любитель, так нельзя. В асме же макродирективы есть, а это уже не для реальных пацанов. Машинные коды! Вот, что спасет человечество.
|
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
Амортизатор2,
да уж
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 2 Всего: 7 |
Ну давай буду заменять строку А на строку Б. Больше здесь ничего не требуется. Короче примеров шаблонов, которые не реализуются копи-пастом и заменой вы принести не можете. После всего этого у меня очень большие сомнения в том, что у Си лаконичный синтаксис. Короче, когда в следующий раз увижу очередной бред о компактности и переносимости Си до которых Паскалю как до Луны пешком, буду долго и упорно смеяться. Вместо шаблонов лучше бы нормальный строковый тип сделали. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 5 Всего: 70 |
какую строку А и на какую Б? Подробней пожалуйста. И расспиши как это должен сделать препроцессор. Не стесняйся. Тут уже обсуждали, что строковой тип в С++ удобнее и лучше чем в Pascal/Delphi |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 3 Всего: 146 |
строки в си тоже нормальные , только одно плохо что строковые классы в разных компиляторах реализованы по разному, и не всегда код написанный для работы со строками в одном компиляторе компилируется в другом
Я те удивляюсь , ты вцепился в эти шаблоны и ничего вокруг больше не видишь, имхо показывает твою ограниченность (ИМХО) прочитать заново топик говорить те бесполезно (ибо в самом начале было сказано , что в дельфи шаблонов нет) и при правильном программировании можно обойтись без шаблонов вообще! (хотя с помощью них и проще) -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
![]()
|
| Правила ведения Религиозных войн | |
|
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Религиозные войны | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |