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

IO operators

Boost , Boost.Optional , Tutorial

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

Можно использовать<optional<T>>с потоками ввода-вывода при условии, что<T>можно использовать с потоками. Операторы IOStream определяются отдельным заголовком.

#include <iostream>
#include <boost/optional/optional_io.hpp>
int main()
{
  boost::optional<int> o1 = 1, oN = boost::none;
  std::cout << o1;
  std::cin >> oN;
}

Нынешняя реализация не гарантирует какого-либо конкретного результата. Это гарантирует, что если потоковая передача, а затем обратно в<T>дает то же самое значение, то потоковая передача, а затем обратно в<optional<T>>также даст тот же результат:

#include <cassert>
#include <sstream>
#include <boost/optional/optional_io.hpp>
int main()
{
  boost::optional<int> o1 = 1, oN = boost::none;
  boost::optional<int> x1, x2;
  std::stringstream s;
  s << o1 << oN;
  s >> x1 >> x2;
  assert (o1 == x1);
  assert (oN == x2);
}


PrevUpHomeNext

Статья IO operators раздела Boost.Optional Tutorial может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Tutorial ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-07-05 09:53:43/0.0059258937835693/0