Описание тега ostream

In C++ std::ostream is the base class for output streams.
2 ответа

Лучшие практики с C++ ostream (tostring)

Каковы лучшие практики при перегрузке << оператор. В частности, как я могу различить открытие по указателю против объекта. Кошерно ли им выводить одну и ту же строку при подаче на <<? Например, рассмотрим следующий код, где оба Book объе…
21 май '13 в 16:04
0 ответов

Почему ostream::operator<< разрешает использование ostringstream arg?

Это производит мусор: #include &lt;iostream&gt; #include &lt;sstream&gt; main() { std::ostringstream s1; s1 &lt;&lt; "s" &lt;&lt; 1; std::cout &lt;&lt; s1 &lt;&lt; std::endl; } Это производит мусор. Я понимаю, что исправить это использовать s1.str()…
27 июл '16 в 15:42
2 ответа

Пользовательский ostream печатает только последнюю строку цепочки `<<`

Я пытаюсь реализовать класс с пользовательским оператором потока, и наследуется от него, чтобы иметь базовый класс и производный класс с различными потоками. Тогда я перегружаю &lt;&lt; оператор для использования хранится ostream, Это рабочий пример…
13 июл '16 в 07:09
2 ответа

Почему существуют перегрузки 'operator<<' для частичных специализаций 'char' в std:: basic_ostream?

Я хотел бы знать, почему следующее operator&lt;&lt; существуют перегрузки для basic_ostream"s char частичных специализация: template&lt; class Traits &gt; basic_ostream&lt;char,Traits&gt;&amp; operator&lt;&lt;( basic_ostream&lt;char,Traits&gt;&amp; …
19 фев '13 в 16:03
0 ответов

Наследование и ostream, как вывести производный класс с указателем на базу?

Рассмотрим следующий код: #include &lt;iostream&gt; using namespace std; class Base {}; class Derived : public Base {}; ostream&amp; operator &lt;&lt;(ostream&amp; os, const Base&amp; base) { os &lt;&lt; "Base"; return os; } ostream&amp; operator &l…
15 авг '15 в 09:16
0 ответов

Список выражений инициализатора, рассматриваемый как составной вектор экспрессии

Кажется, я не могу понять это, я пытаюсь вызвать вектор для функции и получить список выражений инициализатора ошибок, обработанный как составное выражение, не может преобразовать Vector&lt;int&gt; в int в инициализации. функция: int print_vector(os…
02 ноя '12 в 03:31
3 ответа

Вывести адрес массива char

int *i = new int(1); cout &lt;&lt; i &lt;&lt; endl; Напечатает адрес целого числа. char *c="cstring"; cout &lt;&lt; c &lt;&lt; endl; cout &lt;&lt; &amp;(*c) &lt;&lt; endl; Будут оба печатать "cstring". Я думаю, что это поведение может быть просто об…
18 июл '12 в 08:52
1 ответ

ostream operator << в пространстве имен скрывает другой ostream::operator

Используя gcc версии 5.2.0 (GCC) с --std= C++14, следующий код больше не компилируется, если закомментированный оператор ostream в пространстве имен MyNamespace не закомментирован. Это ошибка или особенность? (Компилировать с помощью g++ -c --std= C…
1 ответ

Выборочные неявные преобразования

У меня есть Value класс, который может содержать значение различных типов данных. class Value { private: union { int Integer; double Real; bool Boolean; }; ValueTypes valType; public: Value(); Value(double Val); Value(int Val); Value(bool Val); /* .…
22 мар '14 в 23:56
7 ответов

<< Оператор Переписать, чтобы cout int и double значения

Мне нужно переписать оператор <<, чтобы он мог указывать значения для часа (int) и температуры (double). Я думаю, что я включил все необходимые разделы. Заранее спасибо. struct Reading { int hour; double temperature; Reading(int h, double t): hour(h…
05 дек '10 в 23:54
1 ответ

Ошибка C2512: 'std:: basic_ostream<_Elem, _Traits>': соответствующий конструктор по умолчанию недоступен только в Visual Studio

Я задаю этот вопрос, потому что я немного беспомощен: эта ошибка возникает ТОЛЬКО с Visual Studio, GCC компилирует ее без ошибок или даже предупреждений. Поскольку это некоторый переносимый код, я ищу решение, которое работает с обоими компиляторами…
12 мар '13 в 12:39
5 ответов

Как правильно назначить cout статической ссылочной переменной ostream?

Я определяю такой класс: class StaticRuntimeContext { public: enum Verbosity { kHIGH, kMEDIUM, kLOW, kSILENT }; static void Construct(); static std::ostream&amp; stdout1() {return stdout1_;} static std::ostream&amp; stdout2() {return stdout2_;} stat…
09 ноя '11 в 19:34
0 ответов

Получение ошибки "Нет оператора" << ", совпадающего с этими операндами" при попытке передать std:: string в ostream

Я хотел изучать C++, поэтому я принял участие в курсе программирования на C++. В основном это довольно простые вещи, но теперь я пару раз сталкивался с этой странной ситуацией, когда я не могу использовать операнды "<<" для передачи std:: string в o…
16 окт '17 в 12:07
2 ответа

Установка плавающего поля в функции оператора << для вывода и последующее его изменение

Допустим, у меня есть какой-то класс товаров с полем цена. Когда кто-то пытается вывести мой объект Merchandise, чаще всего с cout, я хочу отобразить сумму в долларах, за которую продает товар, с двумя точками после запятой. Но я не хочу постоянно м…
29 май '14 в 00:33
3 ответа

Независимая от платформы /dev/null в C++

Возможный дубликат: Реализация no-op std::ostream Есть ли потоковый эквивалент NULL в C++? Я хочу написать функцию, которая принимает поток, если пользователь хочет, чтобы внутренний вывод был куда-то, но если нет, вывод идет в какое-то поддельное м…
05 июн '11 в 04:08
2 ответа

Получение текстовых данных из C++ с использованием JNI через std::ostream в Java

У меня есть класс в C++, который принимает std::ostream в качестве аргумента для непрерывного вывода текста (информация трассировки). Мне нужно максимально эффективно передать этот текст на сторону Java. Какой лучший способ сделать это? Я думал об и…
24 фев '10 в 17:35
2 ответа

C++ частичная шаблонная специализация оператора потока

У меня есть класс Matrix с функцией друга для использования с оператором<<. Все это прекрасно работает, но теперь я хочу частично специализировать эту функцию-друга для работы по-другому, если класс Matrix имеет Matrix в качестве параметра шаблона (…
2 ответа

Перегрузка << оператор и рекурсия

Я попробовал следующий код: #include &lt;iostream&gt; using std::cout; using std::ostream; class X { public: friend ostream&amp; operator&lt;&lt;(ostream &amp;os, const X&amp; obj) { cout &lt;&lt; "hehe"; // comment this and infinite loop is gone re…
01 мар '10 в 10:58
1 ответ

C++ ostream operator<< "без определения" ошибка (только для Mac)

У меня есть код, который компилируется в Linux, но не компилируется на моем Mac. Я компилирую с gcc-4.2.1. Рассматриваемый код - C++, и он выглядит так: void print(std::ostream&amp; os) const { os &lt;&lt; std::string(*this) &lt;&lt; " "; } Ошибка: …
14 июн '13 в 14:16
1 ответ

Как реализовать макрос записи с автоматическим переводом строки в C++

В глоге библиотеки C++ (модуль логирования Google) есть хороший интерфейс, где вы можете написать LOG(INFO) &lt;&lt; "abc " &lt;&lt; my_var; и во время выполнения он печатает что-то вроде abc 5\n во время выполнения (если my_var было 5), где он авто…
11 авг '18 в 18:21