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

Ввод строки типа {a,b,c,d,f,{a,b,c,f},g,h,j}, исправить код - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужно написать программу со строками http://www.cyberforum.ru/cpp-beginners/thread666360.html
Пожалуйста помогите написать программу, которая будет подсчитывать количество заглавных букв в строке, введенной с клавиатуры. e. выполнить пункты a и b на оценку 4 балла. f. реализовать меню...
C++ Сумма ряда до точность E Четвёртый член ряда равен 0.001411 (можете проверить запустив программу) Вопрос: почему не срабатывает строчка (последняя) if(E<b) printf("Sum ryada do tochnosty %f ravna: %f\n", E, w); Когда... http://www.cyberforum.ru/cpp-beginners/thread666344.html
Обьясните, пожалуйста, строчки C++
CRect rect; GetWindowRect(&rect); rect.OffsetRect(20,20); if (pic_wnd) delete pic_wnd; pic_wnd = new CPicWnd; pic_wnd->some = this; pic_wnd->CreateEx(NULL, "", "",...
Реализовать класс Account, представляющий собой банковский счет C++
Б15.12 Реализовать класс Account , представляющий собой банковский счет. В классе должны быть реализованы 4 поля: фамилия владельца, номер счета, процент начисления и сумма в рублях. Необходимо...
C++ Компилятор и исполняющая среда CUDA http://www.cyberforum.ru/cpp-beginners/thread666324.html
Помогите разобраться... что не так?? Подскажите.. Должно получиться как на первом скрине
C++ Для заданного числа найти не превышающие его дружественные Написать программу, которая для заданного натурального числа N находит, не превышающие это число дружественные. подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
09.10.2012, 01:27
Да, именно std::stringstream. Из него удобно читать следующий символ: get(), и посматривать, что там за следующий символ, но не вынимать его из потока: peek().

Просто не совсем удобно запихивать парсер сразу в конструктор. Потому что вдруг вам надо будет менять формат или поддерживать их несколько? Но в принципе не суть важно, где он. Можно и в каст-конструкторе. Тогда сделаете приватный конструктор из stringstream, всю работу делаете в нём, а конструктор из string перенаправляете на него:
C++
1
2
3
4
5
6
7
8
9
class Set {
public:
  Set(const std::string &string_) : Set(std::stringstream(string_)) {}
private:
  Set(const std::stringstream &str)
  {
    // тут парсер
  }
};
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.