Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Lazy Functions

Boost , Chapter 1. Phoenix 3.2.0 , Starter Kit

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Когда вы пишете больше функций лямбда, вы заметите определенные шаблоны, которые вы хотите рефакторировать как многоразовые функции. Когда вы достигнете этой точки, вы захотите, чтобы обычные функции сосуществовали с функциями Феникса. К сожалению,немедленноХарактер простых функций С++ делает их несовместимыми.

Ленивые функции — ваши друзья. Библиотека предоставляет возможность выполнять ленивые функции. Приведенный ниже код представляет собой переписывание функции<is_odd>с использованием средства:

struct is_odd_impl
{
    typedef bool result_type;
    template <typename Arg>
    bool operator()(Arg arg1) const
    {
        return arg1 % 2 == 1;
    }
};
function<is_odd_impl> is_odd;
Things to note:
  • Вычет типа результата осуществляется с помощью протокола result_of. Больше информации см.Возникновение
  • <is_odd_impl>Осуществляет функцию.
  • <is_odd>, пример<function<is_odd_impl>>, является ленивой функцией.

Теперь<is_odd>это действительно ленивая функция, которую мы можем использовать в сочетании с остальной частью Феникса. Пример:

std::find_if(c.begin(), c.end(), is_odd(arg1));

Функция.cpp

Predefined Lazy Functions

Библиотека переполнена STL-сообразительными, заранее определенными ленивыми функциями, охватывающими все STL-контейнеры, итераторы и алгоритмы. Например, существуют ленивые версии операций, связанных с контейнерами, такие как назначение, задняя часть, начало, pop_back, pop_front, push_back, push_front и т. Д. (см.STL).


PrevUpHomeNext

Статья Lazy Functions раздела Chapter 1. Phoenix 3.2.0 Starter Kit может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Starter Kit ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 02:19:18/0.0053858757019043/1