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

Optional automatic variables

Boost , Boost.Optional , Quick Start

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

Мы могли бы написать функцию<convert>немного иначе, так что она имеет одно<return>-утверждение:

boost::optional<int> convert(const std::string& text)
{
  boost::optional<int> ans;
  std::stringstream s(text);
  int i;
  if ((s >> i) && s.get() == std::char_traits<char>::eof())
    ans = i;
  return ans;
}

Конструктор по умолчанию<optional>создает унифицированный необязательный объект. В отличие от<int>вы не можете иметь<optional<int>>в неопределенном состоянии. Его состояние всегда четко определено. Инструкция<ans= i>инициализирует необязательный объект. Он использует «смешанное» назначение из<int>. В общем, для<optional<T>>, когда задание от<T>вызывается, он может сделать две вещи. Если факультативный объект не инициализирован (наш случай здесь), он инициализирует содержащееся значение с помощью конструктора копий<T>. Если факультативный объект уже инициализирован, он присваивает ему новое значение, используя присвоение копии<T>.


PrevUpHomeNext

Статья Optional automatic variables раздела Boost.Optional Quick Start может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Quick Start ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 22:30:05/0.0063250064849854/0