Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Статьи о программировании с использованием библиотеки Boost, статья о реализации свойств в C++


Здравствуйте, уважаемые подписчики !

Сегодня вашему вниманию представлены три статьи: статья, освещающая использование контейнера milti_index библиотеки boost, применение контейнеров умных указателей (smart pointers) библиотеки boost, а также реализацию концепции свойств объектов на языке C++.

Замечание
Как всегда напомню, что авторы интересных материалов по программированию могут опубликовать их на сайте CodeGuru.ru, либо в этой рассылке, тем самым получив дополнительных посетителей и ссылки на свой ресурс.

Также предлагаю посетить форум программистов, web-мастеров, дизайнеров, оптимизаторов - здесь всегда можно получить ответ на интересующий вас вопрос, либо просто пообщаться с коллегами.

С ведущим рассылки можно связаться, используя этот адрес.

--- * ---

Использование Boost::multi_index

Контейнеры STL построены на концепции, состоящей в том, что каждый контейнер контролирует свой собственный набор элементов, предоставляя какой-либо интерфейс доступа к ним.

В отличие от STL, контейнеры boost::multi_index построены на другом принципе: каждый контейнер содержит хранилище элементов, предоставляя несколько различных интерфейсов доступа (называемых в boost индексами) к ним. Такой подход позволяет достаточно легко и прозрачно строить контейнеры совмещающие свойства различных STL контейнеров, а также быстро менять описание контейнера в случае необходимости добавления или удаления индексов, не меняя уже написанный код, работающий с контейнером.

Далее будет рассмотрено применение boost-индексов.

Умные указатели в C++: boost::shared_ptr, boost::weak_ptr, boost::intrusive_ptr

Умные указатели (Smart pointers) - это, объекты, которые хранят указатели на динамическую память. Они действуют аналогично обычным указателям C++, за исключением того, что автоматически освобождают память в необходимый момент.

Boost предоставляет шесть типов умных указателей...

Свойства в C++

Немного поигравшись, пришел к реализации свойств в C++, которая обладает некоторыми преимуществами, по сравнению с известными мне реализациями:

  • Свойства не требуют инициализации в конструкторах;
  • Независимо от количества свойств, размер класса увеличивается на константу, связанную с выравниваем членов. У меня, например, на 4 байта.

Как это делается ?


В избранное