Re[11]: Экспорт шаблонов
От: Шахтер Интернет  
Дата: 09.01.05 19:25
Оценка: +5
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Шахтер, Вы писали:


AVK>>>Да? А если мы возьмем обыкновенные контейнеры? Там именно что дублирование — разница только в адресах функций и размерах оперируемых данных.


Ш>>Да? А не освежить ли тебе память и не посмотреть ли на то, как устроен итератор по вектору и по списку?


AVK>возьмем обыкновенные контейнеры


Вектор и список -- самые что ни на есть обыкновеннейшие контейнеры.

AVK>Я понимаю, что есть случай, когда дублирование оправдано. Но ровно так же есть случаи, когда оно не оправдано. И если внимательно на такие случаи посмотреть, то это окажется как раз то самое метапрограммирование.


Просто не могу вкурить, что ты хочешь сказать. Наверно, я тупой.

AVK>Итераторы как раз и есть метапрограммирование.


Уф. Итераторы никаким боком не относятся к метапрограммированию. Метапрограммирование -- это набор техник, позволяющих провести вычисление над типами и константами во время компиляции.

Итераторы -- это как раз хороший пример обобщённого программирования.

И ещё. Обобщённое программирование потому так и называется, что позволяет абстрагироваться от деталей устройства того или иного типа и использовать его абстрактные свойства и поведение. Одинаковый код при этом получится никак не может. Если при использовании дженериков получается один и тот же MSIL код, то это означает только одно -- никаким обобщённым программированием там и не пахнет, максимум что там есть -- старый банальный полиморфизм (поданый под новым соусом).
... << RSDN@Home 1.1.0 stable >>
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.