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

Design Rationale

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Chapter 5. Boost.Array

BoostC++ 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

Design Rationale

Существовал важный конструктивный компромисс в отношении конструкторов: Мы могли бы реализовать массив как «совокупность» (см. Раздел 8.5.1, [dcl.init.aggr], стандарта C++). Это будет означать:

  • Массив может быть инициализирован с помощью закрывающего скобки, разделенного запятой списка инициализаторов для элементов контейнера, написанного в увеличивающемся подстрочном порядке:

    Усиление:a = { { 1, 2, 3 } };

    Обратите внимание, что если в списке инициализаторов меньше элементов, то каждый оставшийся элемент инициализируется по умолчанию (таким образом, он имеет определенное значение).

Однако у этого подхода есть свои недостатки:отсутствие списка инициализаторов означает, что элементы имеют неопределенное начальное значение, поскольку правило гласит, что агрегаты могут иметь:

  • Никаких пользовательских конструкторов.
  • Никаких частных или защищенных нестатических данных.
  • Нет базовых классов.
  • Нет виртуальных функций.

Тем не менее, Нынешняя реализация использует этот подход.

Обратите внимание, что для компиляторов, соответствующих стандарту, можно использовать меньше брекетов (согласно 8.5.1 (11) стандарта). То есть, вы можете инициализировать массив следующим образом:

boost::array<int,4> a = { 1, 2, 3 };

Буду признателен за любую конструктивную обратную связь.Пожалуйста, обратите внимание: у меня нет времени читать все рекламные сообщения. Таким образом, чтобы убедиться, что обратная связь поступает ко мне, пожалуйста, отправьте мне копию каждого письма относительно этого класса.

Код предоставляется «как есть» без выраженной или подразумеваемой гарантии.


PrevUpHomeNext

Статья Design Rationale раздела The Boost C++ Libraries BoostBook Documentation Subset Chapter 5. Boost.Array может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Chapter 5. Boost.Array ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 17:56:30/0.027683019638062/1