![]() |
|
Модераторы: LSD Страницы: (59) « Первая ... 53 54 [55] 56 57 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]()
|
|
| Daevaorn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 5 Всего: 70 |
можно пример? просто интересно, я ещё таких компиляторов не встречал.
я что, где-то в том посте упоминул "шаблоны"? Не дают покая они дельфинам, которые их во-первых не знают и не понимают, а во-вторых всячески хают. Хотя их удобство не признать нельзя. Они сокращают время разработки и позволяют применять особые идиомы, которые благоприятно сказываются на дизайне кода и производительности. |
||||
|
|||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 13 Всего: 43 |
P.S. не пишу на C++, только иногда C. |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 3 Всего: 146 |
в понедельник дам пример, ибо он не дома, писалось на билдере в gcc не захотел компилится ибо класс строк в С++ это шаблоный класс, или я не прав? в си имхо и классов нет , а в С++ это именно класс и он шаблонный -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 13 Всего: 43 |
|
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 3 Всего: 146 |
зато терь мне непонятно , зачем отписал , если знал , что нет классов? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Beltar |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 2 Всего: 7 |
ValueT на истинное название типа. ВСЕ!!
В жизни своей ничего более бредового не слышал. :-| PChar годится только для работы с устройствами, которые шлют короткие сообщения и не имеет даже там никакого преимущества перед паскалевским ShortSring. Если ты написал над PChar класс, то это само по себе его гниль не устраняет, упаси бог, если придется получать длину очень большой строки, считай ты нашел, чем занять процессор. Тебе надо реализовывать хранение длины, возможно, счетчик ссылок как у ANSIString. На выходе ты получишь тот же ANSIString, но для работы с которым надо натирать на пальцах мозоли, обращаясь к классу. И я не понимаю, почему необходимые в каждой программе операции не должны реализовываться на уровня синтаксаса и компилятора, а всякая мелочевка позволяющая сэкономить 0,01% от занимающего 1% времени набора кода просто обязана присутствовать, даже, если ее можно реализовать с помощью IDE.
Ну покажи, как шаблон поднимает производительность. Самый производительный вариант, это все методы инлайном. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
||||||
|
|||||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 5 Всего: 70 |
какое истинное значение типа может быть, если препроцессор ничего не знает о типах вообще!? Так что тут логика гораздо глубже чем просто подстановка. Ну если для тебя строки в С++ это PChar, то мне тебя жалко. Читай книги!
Статический полиморфизм тебе знаком? |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 3 Всего: 146 |
каким боком он относится к инлайнам? или шаблонам? и что за манера скакать по разным направлениям? ксати весь полиморфизм, так же требует дополнительного времени на определения что к чему.... Beltar, давай не будем так критичны, ведь ANSIString это встроеная надстройка над PChar ..... -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 5 Всего: 70 |
||||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
IDE для выдачи "умной подсказки" компилирует чего? P.S. Я не пытаюсь в чем-либо умалить достоинство шаблонов. Тем более, с моей низкой С++-квалификацией. Просто не думаю, что стОит выражаться так категорично |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 3 Всего: 146 |
производительность == полиморфизм хммм.... прикольно... вах, вах, одни мы такие умные и все знаем , до ужасти...... -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 5 Всего: 70 |
||||
|
||||
| Beltar |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 2 Всего: 7 |
Ой блин.
Tсть 3 способа использования шаблона: 1) Язык содержит шаблоны и синтаксическую конструкцию CreateByTemplate. Чисто препроцессорная задача. 2) По образу и подобию класса\функции можно налепить средствами IDE аналогов для разных типов, что я считаю наиболее правильным, т. к. никаких препроцессоров нет и программист видит именно тот код, который уйдет компилятору и может его править. Например сделать какую-то функцию inline, если она вызывается в длинном цикле. 3) Копилятор обнаружив вызов шаблонной функции генерирует ее код для соответствующих типов. А вот как вызов ее будет осуществляться уже вопрос, компилятор сам должен решить, вызов или inline. Если даже компилятор решил, что будет inline (в Delphi, например, введен автоматический inline функций не более 32 байт размером), то каким местом это будет быстрее набранной вручную аналогичной фунции с директивой inline?
А внутри твоих классов что работает? ANSIString, если хочешь знать можно рассматривать как примерно такой класс:
Если строка пустая, то указатель на него nil. Недавно прочитав статьи Joel'а пришел к выводу, что C++ программисты в основной массе ничуть не лучше Delphi'нов понимают, что там внутри классов происходит. Разница только в том, что "класс" этот встроенный и 100 раз отлаженный и только полному идиоту придет в голову писать свой, рискуя привнести в код вагон проблем. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
||||||
|
|||||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 5 Всего: 70 |
Не надо путать понятия, препрцессор он на то и "пре", что не знанимается глубоким анализом текста. Всё что связано с типами и сложными языковыми структурами, это уже компилирование. И иной раз вывод типа совсем не очевиден. А если учесть мерджинг уже инстанцированных шаблонов для оптимизации, то это вообще к задаче препроцессора не относится совсем. Так что так.
нет. см. выше когда я вижу что -то типа "средствами IDE", то мне становится смешно. Такое может написать только дельфин Если для тебя оптимизация это только inline, то тут говорить нечего. Опять совет, читай книги. Мне всё равно что внутри, я просто беру std::string и им пользуюсь. И получаю кучу функционала практически бесплатно. И ещё имею возможность кастомизировать их в очень широких пределах. А то что под всеми строками скрывается массив байт, то это уже проза жизни. Но разумных С++ программистов гораздо больше. |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
![]()
|
| Правила ведения Религиозных войн | |
|
|
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. |