Петр Димов предложил название «необязательно» и первым указал на необходимость выровненного хранения.
Дуглас Грегор разработал «type_with_alignment», а позже Эрик Фридман закодировал «aligned_storage», которые являются ядром реализации факультативного класса.
Андрей Александреску и Брайан Паркер также работали с согласованными методами хранения, и их работа повлияла на текущую реализацию.
Геннадий Розенталь сделал обширные и важные замечания, которые сформировали дизайн.
Веса Карвонен и Дуглас Грегор провели весьма полезные сравнения между факультативным, вариантным и любым; и сделали другие соответствующие комментарии.
Дуглас Грегор и Питер Димов прокомментировали сравнение и оценку в булевом контексте.
Эрик Фридман помог понять проблемы, связанные с согласованным хранением, перемещением / копированием и безопасностью исключений.
Многие другие приняли участие с полезными комментариями: Алексей Гуротов, Кевлин Хенни, Дэвид Абрахамс и другие я не могу вспомнить.
Уильям Кемпф тщательно проанализировал первоначально предложенный интерфейс и предложил новый интерфейс, который в настоящее время используется. Он также начал и подогрел дискуссию об аналоговом опциональном и умном указателе и о реляционных операторах.
Питер Димов, Джоэл де Гусман, Дэвид Абрахамс, Тантон Гиббс и Ян Хэнсон сосредоточились на реляционной семантике факультативного (изначально неопределенного); в заключение, что интерфейс, подобный указателю, не делает его указателем, поэтому он должен иметь глубокие реляционные операторы.
Август Сондерс также исследовал различные реляционные семантики между факультативным и указателем и разработал концепцию OptionalPointee в качестве помощи против потенциальных конфликтов на общем коде.
Джоэл де Гусман заметил, что опциональный<>можно рассматривать как API поверх варианта.
Дэйв Гомбок объяснил значение и использование аналога Haskell факультативным конструктором типа Maybe (аналогия, первоначально указанная Дэвидом Санкелем).
Другие комментарии опубликовали Винсент Финн, Энтони Уильямс, Эд Брей, Роб Стюарт и другие.
Жоэль де Гусман высказался за поддержку ссылок и помог с правильной семантикой.
Мат Маркус показал достоинства ценностно-ориентированного интерфейса, влияющего на текущий дизайн, и внес идею «ничего».
Дизайн Владимира Батова Boost. Преобразование библиотеки мотивировало разработку ценностных аксессуаров для<optional>: функций<value>,<value_or>,<value_or_eval>.
Статья Acknowledgements раздела Boost.Optional Boost.Optional может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.