Форум программистов, компьютерный форум CyberForum.ru

Зачем нужен конструктор объекта ostringstream (строковый поток который) с двумя аргументами? - C++

Восстановить пароль Регистрация
 
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,269
01.04.2014, 20:30     Зачем нужен конструктор объекта ostringstream (строковый поток который) с двумя аргументами? #1
От него всё равно толку как от быка молока. А вроде как предназначен для записи чего-то там в строку...
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
#include <string>
#include <stdio.h>
#include <iostream>
#include <sstream>
using namespace std;
 
 
int main () {
 
         string str= "XXX";
         string te;
 
 
         //Вот так всё работает, выводится "XXX"
         ostringstream ost;
         ost<< str;
         te= ost.str();
 
         //А так нет. Всё дело в конструкторе;
         //Какой же в нём смысл?  
//         ostringstream ost (te);
//         ost<< str;
         cout<< te<< endl;
         getchar ();
 
 return 0;
}
спасибо, кто откликнется.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2014, 20:30     Зачем нужен конструктор объекта ostringstream (строковый поток который) с двумя аргументами?
Посмотрите здесь:

Зачем нужен конструктор? C++
Определение объекта, который вызвает конструктор. C++
this(Всегда ли вызывается конструктор при не явной передачи объекта в конструктор) C++
Наследование и конструктор с аргументами по умолчанию C++
Напишите конструктор для инициализации объекта класса Time, который может использовать текущее время, возвращаемое функцией time (). C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,164
Завершенные тесты: 1
01.04.2014, 20:36     Зачем нужен конструктор объекта ostringstream (строковый поток который) с двумя аргументами? #2
Так вроде, Вы же и объяснили.
Конструктор использует строку в качестве приемника символов,
передаваемых в поток.
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,269
01.04.2014, 21:09  [ТС]     Зачем нужен конструктор объекта ostringstream (строковый поток который) с двумя аргументами? #3
А рабочий пример можно?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.04.2014, 00:17     Зачем нужен конструктор объекта ostringstream (строковый поток который) с двумя аргументами? #4
C++
1
2
3
4
5
6
    string str = "XX";
    string te  = "YYYY";
    
    ostringstream ost(te);
    ost << str;
    cout << ost.str() << endl;
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,269
08.04.2014, 00:35  [ТС]     Зачем нужен конструктор объекта ostringstream (строковый поток который) с двумя аргументами? #5
Непонятен прикол. Я бы так сделал:
C++
1
2
3
4
    string str = "XX";
    string te  = "YYYY";
    string te_(te);
    cout<< te_.replace (0, str.size(), str)<< endl;
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.04.2014, 01:34     Зачем нужен конструктор объекта ostringstream (строковый поток который) с двумя аргументами? #6
Цитата Сообщение от kravam Посмотреть сообщение
Я бы так сделал:
Сделали для чего?
Из моего кода видно, наглядно, что:
Цитата Сообщение от zss Посмотреть сообщение
Конструктор использует строку в качестве приемника символов,
передаваемых в поток.
Поверх te помещается str.
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,269
08.04.2014, 02:00  [ТС]     Зачем нужен конструктор объекта ostringstream (строковый поток который) с двумя аргументами? #7
Цитата Сообщение от alsav22 Посмотреть сообщение
Поверх te помещается str.
Если преследовалась эта цель, тогда ещё проще:
C++
1
2
3
string str = "XX";
string te  = "YYYY";
te.replace (0, str.size(), str);
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.04.2014, 02:02     Зачем нужен конструктор объекта ostringstream (строковый поток который) с двумя аргументами? #8
Цитата Сообщение от kravam Посмотреть сообщение
Если преследовалась эта цель, тогда ещё проще:
А где здесь, вообще, конструктор строкового потока?
Тема, как-бы, о нём...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2014, 02:08     Зачем нужен конструктор объекта ostringstream (строковый поток который) с двумя аргументами?
Еще ссылки по теме:

C++ Зачем возвращать конструктор копирование?
C++ Зачем в программе 2 раза вызывать конструктор для одного объекта
Функция с двумя аргументами. Второй - по умолчанию = первому C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,269
08.04.2014, 02:08  [ТС]     Зачем нужен конструктор объекта ostringstream (строковый поток который) с двумя аргументами? #9
Нету тут его. Если тема о нём, почему бы не сравнить его и НЕ его? Я сравнил всего лишь...
Yandex
Объявления
08.04.2014, 02:08     Зачем нужен конструктор объекта ostringstream (строковый поток который) с двумя аргументами?
Ответ Создать тему
Опции темы

Текущее время: 23:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru