Re[11]: Зачем шаблоны в С++?
От: CreatorCray  
Дата: 30.04.14 22:07
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>Если тебе интересен какой-то конкретный case — то можем разобрать его, с замерами и ассемблерными листингами.

EP>Но только давай не в КСВ.
А где же ещё компьютерные срачи устраивать?
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re: Зачем шаблоны в С++?
От: ononim  
Дата: 30.04.14 23:40
Оценка:
Бывает, когда надо. Вот например есть у нас массив структурок разных, но имеющих поле строковое, и приспичило нам посчитать общую длину строк в этих структурах — пишем шаблонную функу которая проходит по массиву структур T и выдает на-гора сумму T::somestring. Пример кстати не надуманный, а вполне себе некогда юзаный мной в весьма низкоуровневом коде — в хуках на NtQueryDirectoryFile и ему подобных для подсчета общей длины структур которые вернуть возможно Получается быстро и наглядно.
Как много веселых ребят, и все делают велосипед...
Re[5]: Зачем шаблоны в С++?
От: MTD https://github.com/mtrempoltsev
Дата: 01.05.14 05:14
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>Ну хорошо, давай возьмём библиотеку Qt. Она на С++.

A>Там даже есть своя библиотека контейнеров и она на темплейтах.
A>Но весь остальной код почему-то без них.

Ну ведь ничто не мешает перед тем как делать утверждение, сначала его проверить.
Re[6]: Зачем шаблоны в С++?
От: jazzer Россия Skype: enerjazzer
Дата: 01.05.14 05:28
Оценка:
Здравствуйте, MTD, Вы писали:

MTD>Здравствуйте, alpha21264, Вы писали:


A>>Ну хорошо, давай возьмём библиотеку Qt. Она на С++.

A>>Там даже есть своя библиотека контейнеров и она на темплейтах.
A>>Но весь остальной код почему-то без них.

MTD>Ну ведь ничто не мешает перед тем как делать утверждение, сначала его проверить.


В КСВ-то?
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[2]: Зачем шаблоны в С++?
От: Kernighan СССР  
Дата: 01.05.14 11:15
Оценка:
Здравствуйте, ononim, Вы писали:

O>Бывает, когда надо. Вот например есть у нас массив структурок разных, но имеющих поле строковое, и приспичило нам посчитать общую длину строк в этих структурах — пишем шаблонную функу которая проходит по массиву структур T и выдает на-гора сумму T::somestring. Пример кстати не надуманный, а вполне себе некогда юзаный мной в весьма низкоуровневом коде — в хуках на NtQueryDirectoryFile и ему подобных для подсчета общей длины структур которые вернуть возможно Получается быстро и наглядно.


Чё-то непонятно.
А в массиве лежат структуры одного типа?
А поле строковое у всех типов структур называется одинаково?
Re: [offtopic] Зачем макросы в *** ?
От: _NN_  
Дата: 01.05.14 15:33
Оценка:
Извините не удержался.

Народ!

Вот дожил до 45 лет и не знаю, зачем в Nemerle макросы.
Вот... совсем. Не использую их, да и всё тут.
Не, конечно assert написать могу.
И прочее использование макросов.
Но больше ничего с макросами не делаю.


Люди! А для чего вы используете макросы?
Может я чего упускаю?


Сложные программы пишу, например, в известном Firefox есть мой код.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re: Зачем шаблоны в С++?
От: alex_public  
Дата: 02.05.14 23:13
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>Люди! А для чего вы используете шаблоны?

A>Может я чего упускаю?
A>

Изначально шаблоны вводились в C++ для реализации парадигмы обобщённого программирование (для этих же целей существуют различные generic'и в языках типа java/c#). Но оказалось, что данный механизм позволяет так же и довольно эффективно реализовывать парадигму метапрограммирования, причём это МП времени компиляции — не имеет никаких накладных расходов. Эти техники получили широкое развитие и являются одним из главных векторов развития C++ в данное время. Правда синтаксис в итоге получается ужасным (в сравнение с языками, где подобное МП задумывалось изначально, типа D и т.п.) и части очевидных возможностей всё же не хватает.

Подводя итоги. Шаблоны C++ реализуют:
— обобщённое программирование, на отличном уровне и с нормальным синтаксисом
— метапрограммирование времени компиляции на среднем уровне и с сомнительным синтаксисом.

Отдельно можно отметить, что второй пункт хотя и реализован не очень, но это является единственной реализацией подобного в мейнстрим языках. И одной из немногих среди языков вообще.
============

Ну а если говорить лично обо мне, то можно опять же разделить использование шаблонов на 2 части: использование чужих и написание своих. С использование своих думаю всё очевидно — и стандартная библиотека и Boost (де факто стандартная библиотека) напичканы шаблонами (причём и в качестве ОП и в качестве МП). Если же говорить про написание своих, то тоже встречается, но уже несколько реже, т.к. большинство "велосипедов" уже есть в подключённых библиотеках.
Re[3]: Зачем шаблоны в С++?
От: ononim  
Дата: 03.05.14 08:05
Оценка: +1
O>>Бывает, когда надо. Вот например есть у нас массив структурок разных, но имеющих поле строковое, и приспичило нам посчитать общую длину строк в этих структурах — пишем шаблонную функу которая проходит по массиву структур T и выдает на-гора сумму T::somestring. Пример кстати не надуманный, а вполне себе некогда юзаный мной в весьма низкоуровневом коде — в хуках на NtQueryDirectoryFile и ему подобных для подсчета общей длины структур которые вернуть возможно Получается быстро и наглядно.
K>Чё-то непонятно.
K>А в массиве лежат структуры одного типа?
Ну там хитрый массив — в буфере лежит этакий связный список, элемент каждого одним из своих полей имеет смещение от себя до следующего

K>А поле строковое у всех типов структур называется одинаково?

Да. Вобщем чтоб дальше не объяснятся, вот эти структуры: раз, два, три, четыре etc
И вот предположим задачка: вам надо из списка таких структур изъять элемент относящийся к файлу "foobar.txt"...
Как много веселых ребят, и все делают велосипед...
Re[2]: [offtopic] Зачем макросы в *** ?
От: Ops Россия  
Дата: 04.05.14 17:43
Оценка: +1 -1
Здравствуйте, _NN_, Вы писали:

_NN>Вот дожил до 45 лет и не знаю, зачем в Nemerle макросы.


Всего до 36, но так и не знаю, зачем вообще Nemerle
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[5]: Зачем шаблоны в С++?
От: lxa http://aliakseis.livejournal.com
Дата: 11.05.14 11:48
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>Ну хорошо, давай возьмём библиотеку Qt. Она на С++.

A>Там даже есть своя библиотека контейнеров и она на темплейтах.
A>Но весь остальной код почему-то без них.
A>

qRegisterMetaType и компания.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.