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

THE BOOST MPL LIBRARY: Implementing Addition and Subtraction

Boost , ,

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

Front Page / Tutorial: Metafunctions and Higher-Order Metaprogramming / Dimensional Analysis / Implementing Addition and Subtraction

Implementing Addition and Subtraction

Теперь мы можем легко писать правила сложения и вычитания, поскольку размеры аргументов всегда должны совпадать.

template <class T, class D>
quantity<T,D>
operator+(quantity<T,D> x, quantity<T,D> y)
{
  return quantity<T,D>(x.value() + y.value());
}
template <class T, class D>
quantity<T,D>
operator-(quantity<T,D> x, quantity<T,D> y)
{
  return quantity<T,D>(x.value() - y.value());
}

Эти операторы позволяют нам писать код, например:

quantity<float,length> len1( 1.0f );
quantity<float,length> len2( 2.0f );
len1 = len1 + len2;   // OK

Но не позволяйте нам добавлять несовместимые измерения:

len1 = len2 + quantity<float,mass>( 3.7f ); // error

Статья THE BOOST MPL LIBRARY: Implementing Addition and Subtraction раздела может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 09:16:59/0.0055170059204102/0