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

Объяснить код - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти простые числа и занести их в новый массив http://www.cyberforum.ru/cpp-beginners/thread1542516.html
Реализовать 3 функции, каждая из которых принимает указатель на массив и количество элементов и возвращает указатель на новый массив. Первая функция ищет простые числа и заносит их в новый массив, вторая – все числа кратные трем, третья – все четные числа. В программе создайте массив из 3-х указателей на эти функции. Добавьте меню, в котором пользователь может выбрать желаемую...
C++ Ошибка при определении переменной в switch case 2: // почасовые работники - фиксированная плата за 40ч, после 40ч полуторная ставка int workingNorm = 40; int hours; rate = 1.5; // ставка за сверхурочные часы cout << "Enter the salary for hour: "; cin >> salary; cout << "Enter the number of hours: "; http://www.cyberforum.ru/cpp-beginners/thread1542515.html
Странная инициализация, объясните код C++
Встретил такой код: int x = (3, 2 , 5 , 4 ); std::cout<<x;//4 Вопросы: -как это называться; -зачем; -что происходит в этом случае; Спасибо!
C++ Как сравнить элемент массива с другими элементами этого же по значению?
Здравствуйте, мне нужно сравнить определенный элемент массива с другими элементами по значению. К примеру дан массив чисел. Мне нужно сравнить его элемент по значению. То есть встречаются ли в нем другие элементы одинакового значения.
C++ Вывести порядковый номер слова максимальной длины и номер позиции в строке, с которой оно начинается http://www.cyberforum.ru/cpp-beginners/thread1542491.html
как вывести на экран порядковый номер слова максимальной длины и номер позиции в строке, с которой оно начинается ?
C++ Не выходит открыть второй файл Ниже представлена часть программы, все выполняется правильно, но мне необходимо повторить все то же самое с другим файлом и записать данные в другие массивы,естественно пытаясь сделать это путем копирования кода,представленного ниже и замены в нем необходимых переменных вылетает миллион ошибок. cout << "Введите имя файла: "<<endl; cin >> filename; ifstream fin(filename); ... подробнее

Показать сообщение отдельно
Demispace
0 / 0 / 0
Регистрация: 28.09.2014
Сообщений: 5
01.10.2015, 23:41  [ТС]     Объяснить код
Скорее всего не совсем правильная трактовка кода... но все же!
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
template <class ContainerT>// шаблон функции с пользовательским типом данных
void Tokenize(const std::string& str, //Ну вот здесь начинается сама функцию, в неё передаем...
    ContainerT& tokens, //
    const std::string& delimiters = " ", // ограничители в виде пробела(?)
    bool trimEmpty = false) //булеву переменную с начальным значением "ложь"
{
    std::string::size_type pos, lastPos = 0; //что связанное с размером строки... pos и lastPos - непонятно вообще для чего.
 
    using value_type = typename ContainerT::value_type; //?? получение доступа к типам? контейнера
    using size_type = typename ContainerT::size_type; // тоже самое только к другим
 
    while (true)// начало цикла
    {
        pos = str.find_first_of(delimiters, lastPos); //поиск первого символа указанного в аргументах(т.е. delimiterts, а он у нас равен пробелу??) причем last_Pos указывает на..??? не понимаю
        if (pos == std::string::npos) если позиция до или после равна npos(не понимаю), то
        {
            pos = str.length();// в pos загоняем длину строки
 
            if (pos != lastPos || !trimEmpty) //если pos не равна lastPos или Булева ложна, то:
                tokens.push_back(value_type(str.data() + lastPos, // добавляет в конце строки какой-то тип?? который мы нашли и что то еще(
                    (size_type)pos - lastPos)); //и еще ..??
            break;
        }
        else //иначе...
        {
            if (pos != lastPos || !trimEmpty) если pos не равен lastPos или ложна TrimEmpty
                tokens.push_back(value_type(str.data() + lastPos, // опять что-то добавляем в конец
                    (size_type)pos - lastPos)); //...
        }
 
        lastPos = pos + 1; //увеличиваем на единицу 
    }
}
 
void Cut(string& text, const string& word)
{
    const auto it = search(text.begin(), text.end(), word.begin(), word.end()); // в пределах от начала(text.begin) и до text.end ищет последовательность word.begin()-word.end()
    text.erase(it, it + word.size()); ///....
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru