Форум программистов, компьютерный форум, киберфорум
Наши страницы

Обёртка для потока вывода - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Генерация всех максимальных независимых множеств графа http://www.cyberforum.ru/cpp-beginners/thread723677.html
Здравствуйте,обращаюсь к вам по поводу задания своей курсовой работы по дискретной математике- генерация всех максимальных независимых множеств графа, у меня такая проблема-пример кода для этого...
C++ Двумерный массив и функции (нахождение максимального и минимального элемента) Добрый день. Требуется написать программу, которая находила бы максимальный элемент среди элементов, лежащих ниже главной диагонали, а также минимальный эле- мент среди элементов, лежащих выше... http://www.cyberforum.ru/cpp-beginners/thread723676.html
C++ Возвращаемый тип шаблона через std::common_type
Вот отрывок моего кода. Не могу понять как определить возвращаемый тип объекта matrix. template<typename V, typename U, size_t R, size_t C> matrix</*U или V*/,R,C> operator+(const V& value, const...
Класс для обработки информации о людях C++
13.1. Создать класс для обработки информации о людях. Сведения о каждом человеке содержат ФИО, рост и вес. Функции: а) функция ввода информации о человеке; б) функция вывода информации о...
C++ Найти корень уравнения с точностью 10^-4 http://www.cyberforum.ru/cpp-beginners/thread723620.html
Есть 3^x - 2*x^2 - 3 = 0; Найти корень уравнения с точностью 10^-4 Надо на с++ решить (программа должна просто выдавать ответ, ничего больше)... Проблемка в том что я даже не знаю с какой...
C++ Напишите программу, которая вычисляет число Фибоначчи номер N порядка R Напишите программу, которая вычисляет число Фибоначчи номер N порядка R не понимаю, что означает номер N порядка R ? подробнее

Показать сообщение отдельно
gray_fox
What a waste!
1522 / 1227 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3

Обёртка для потока вывода - C++

08.12.2012, 13:47. Просмотров 275. Ответов 0
Метки (Все метки)

В С++11 в потоках появился move constructor. Как бы написать класс, который можно одновременно конструировать из ссылки и с помощью временного объекта? Примерный код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <fstream>
#include <utility>
 
 
// inserts stuff in std::ofstream
struct writer {
 
   std::ofstream & ostream() const noexcept {
      return ???;
   }
 
 
   template<typename Type>
   void put(Type const& value) const {
      ostream() << value;
   }
 
 
   // construct from lvalue
   explicit writer(std::ofstream & ostr) noexcept
         : holder(ostr) {}
 
   // construct from rvalue
   explicit writer(std::ofstream && ostr) noexcept
         : holder(std::move(ostr)) {}
 
 
private:
   typedef ???      holder_type;
 
   holder_type      holder;
};
 
 
int main() {
   std::ofstream ofs("lvalue");
   
   // construct from lvalue
   writer(ofs).put("lvalue");
 
   // construct from rvalue
   writer(std::ofstream("rvalue")).put("rvalue");
}
Вообще вопрос чисто интереса ради, т.к. такой класс писать не собираюсь (получается, что writer может как владеть объектом потока, так и нет).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru