статический полиморфизм: игра стоит свеч?
От: varnie  
Дата: 18.07.08 14:24
Оценка: -1 :)
добрый день.

натолкнулса на неск. выкладок касаемо полезности замены динамического полиморфизма на статический в мире С++ (к примеру, это достигается при помощи Curiously recurring template pattern), и задумалса -- а как же

Most C++ features, including OOP concepts, come at zero cost: that is the beauty of C++, something Stroustrup refers to as the "zero-overhead principle".

?

нек. плюсы применения статического полиморфизма:
    1. Two levels of runtime indirection saved (virtual function pointer + virtual function table).
    2. static_cast calculations can be performed at compile time — no runtime cost.
    3. Possibly saves on having any virtual function pointer and vtable — saving space (albeit minimal savings).
    4. The base class doesn't actually need to define the method — like a pure virtual function.
    5. You can call static methods and public members (both static and non-static).

не выглядит ли статический полиморфизм неким хаком/попыткой переизобрести то, что уже предусмотрено в языке С++ его создателем?

благодарю за конструктивные комментарии.
"Я женился на первой же женщине, которая обратилась ко мне по мейлу." © Л. Торвальдс
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.