![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Polymorphic functionsBoost , ,
Мы видели примеры и уже знаем, что ленивые функции полиморфны. Это важно и повторяется снова и снова. Мономорфные функции являются пассивными и просто лишены лошадиной силы в наше время и в эпоху общего программирования. Структура предоставляет возможности для определения действительно полиморфных функций (вFC++).жаргон, их называют полиморфными функтоидами ранга-2. Например, приведенный выше пример плюса может применяться к целым числам, плавающим точкам, определяемым пользователем сложным числам или даже строкам. Пример:
Скриншоты из игры String ("Hello World"). Наблюдающий читатель может заметить, что этот вызов функции фактически принимает гетерогенные аргументы типов arg1 = std::string и arg2 = char const*. Добавить все еще работает в этом контексте именно потому, что стандартная библиотека C++ позволяет выражение a + b, где a - std::string и b - char const*.
Copyright © 2001-2002 Joel de Guzman Статья Polymorphic functions раздела может быть полезна для разработчиков на c++ и boost. Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: ::
|
|||||||||||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |