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

Inplace and infix operators

Boost , Chapter 1. Boost.Icl , Implementation

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

Для основных операцийсложение, вычитание, пересечениеизконтейнеры и длясимметричная разницавместо<operator>s<+=|=, -=,&=>и<^=>приведены.

Для каждоговместооператора

T& operator o= (T& object, const P& operand)

iclобеспечивает соответствующиефиксациюоператоров.

T operator o (T object, const P& operand){ return object o= operand; }
T operator o (const P& operand, T object){ return object o= operand; }

Из этой реализации исправления<operator o>компилятор, надеюсь, будет использовать оптимизацию возвратного значения(RVO), не создавая временного объекта и выполняя одну копию первого аргумента<object>.

[Caution] Caution

По сравнению свместо<operator o=>каждое использованиеисправления<operator o>требуетодной дополнительной копиипервого аргумента<object>, который проходит контейнер.

Используйте только операторов, если

  • Эффективность не имеет решающего значения, например, скопированные контейнеры малы.
  • Краткое и краткое изложение важнее эффективности в вашем контексте.
  • В любом случае вам нужен результат оператора<o=>в качестве копии.
Time Complexity of infix operators o

Временная сложность всех операторов фиксацииiclсмещена дополнительной копией аргумента<object>. Таким образом, все исправления<operators o>являются по меньшей мерелинейнымив<n= object.iterative_size()>. С учетом этого сложности всех инфикс-операторов можно определить из соответствующего места<operators o=>, от которого они зависят.


PrevUpHomeNext

Статья Inplace and infix operators раздела Chapter 1. Boost.Icl Implementation может быть полезна для разработчиков на c++ и boost.




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



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


реклама


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

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