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

Поле класса теряет информацию - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как это сделать? http://www.cyberforum.ru/cpp-beginners/thread452715.html
Как написать прогу, которая бы указывала количество слов в предложении, вводимое пользователем?
C++ Преобразование переменных #include <iostream> #include <string> using namespace std; int main() { int j,i=5; string ss=5; char h="$"; http://www.cyberforum.ru/cpp-beginners/thread452705.html
помогите с написанием драйвера! С C++
всем привет! нужно написать драйвер для ОС Windows для работы в режиме ядра, который бы перехватывал функцию ZwTerminateProcess (проверял, мой ли процесс хотят убить и если да то возвращал "убийце" STATUS_ACCESS_DENIED)! необходимые функции уже есть, и единственное, что я не знаю - это как "оформить" драйвер, чтобы он удачно скомпилировался и выполнял свою работу. в нете гуглил, везде только...
C++ Как работает функция?
int chsim() { if (ef) return *usim=EOF; usim++; if(*usim!='*' && *(usim+1)!='') { com=0; com++; chsim();chsim(); while(com>0)
C++ Функции http://www.cyberforum.ru/cpp-beginners/thread452696.html
Разработать функцию f(x) которая возвращает младшую цифру натурального числа х. Вычислить с помощью нее значение выражения z=f(a)+f(b) народ хелп
C++ По заданному порядку следования вершин построить бинарное поисковое дерево как по заданному порядку следования вершин за линейное от количества вершин время построить в памяти компьютера бинарное поисковое дерево ? подробнее

Показать сообщение отдельно
IcyWind
8 / 8 / 2
Регистрация: 19.09.2011
Сообщений: 268
25.02.2012, 20:10     Поле класса теряет информацию
Есть класс
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class anagramma{
    map<string, list<string> > data;
public:
    void operator ()(string d)
    {
        if(data.begin() == data.end())
            cout<<" ТВОЮ МАТЬ"; 
        string s = d;
        sort(s.begin(), s.end());
        data[s].push_back(d);
    }
 
public: void print()
    {
        if(data.begin() == data.end())
            cout<<" ТВОЮ МАТЬ";
    }
};
есть файл и, соответственно, поток. Сам мейн.
C++
1
2
3
4
5
6
7
8
9
10
11
12
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(0, "Rus");
    ifstream FS;
    FS.open("05.txt");
    
    anagramma ana;
    for_each(istream_iterator<string>(FS), istream_iterator<string>(), ana);
    ana.print();
    FS.close();
    return 0;
}
фраза "ТВОЮ МАТЬ" выводится 2 раза: первый раз при первой иттерации лямбда-функции.
второй раз, когда я пытаюсь сделать "ana.print()". Почему после завершения работы лямбды-функции поле ana.data теряет информацию?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru