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

Непонятно, как работает push_back - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывод данных между определенных символов в строке http://www.cyberforum.ru/cpp-beginners/thread949321.html
Имеется строка с данными: "*имя*файл*размер*...*..." Как считать и вывести сначала "имя" потом "файл", "размер" и так далее... Данные получаю из файла через fgets. Я думаю что надо искать позицию * ,записывать ее, потом считывать текст до *, затем ставим начало считывания опять после * и так далее... помогите реализовать или предложите более действенный метод.
C++ Точка входа в dll в Linux Если в Windows точка входа в DLL является функция BOOL WINAPI DllMain(...), то какая функция является началом в системе Linux? И какие библиотеки для неё подключать нужно? http://www.cyberforum.ru/cpp-beginners/thread949314.html
C++ Тип bool возвращает 1,а не true
Задание: Даны числа A, B, C (число A не равно 0). Рассмотрев дискриминант D = B2 − 4·A·C, вернуть значение true, если квадратное уравнение A·x2 + B·x + C = 0 имеет вещественные корни, и false в противном случае. Фото ниже:
C++ Лучшая база данных для программ на С++
Привет всем, прошу помощи у экспертов (ибо у них опыта больше). В базе данных точно буду хранить звуковые файлы и текст, скорее всего буду хранить и видео. База будет расти быстро и на много, посоветуйте какая БД под Windows для этого лучше всего подходит!? Ну и конечно с которой можно будет общаться через с++ !?
C++ Глобальная перезагрузка операторов http://www.cyberforum.ru/cpp-beginners/thread949289.html
Есть код: template< class Value > class MyClass { Value value_; }; template< class V >
C++ Правильно перевести в С++ язык Помогите перевести на язык С++ подробнее

Показать сообщение отдельно
MatMatRix
1 / 1 / 0
Регистрация: 13.03.2013
Сообщений: 24
06.09.2013, 17:40  [ТС]     Непонятно, как работает push_back
Может ошибка в структуре rate? К примеру, вот так должно все работать:
Понимаете, в чём дело... Прошу прощения, что я сразу не сказала, но мне нужно непременно использовать структуру pair, которая определяется просто: template<class T1, class T2> struct pair{T1 first; T2 second}. Попытки вместо string в первую переменную пары, которую я обозначила как rate (чисто для удобства), запихнуть const string& оборачиваются кучей ругани от Visual C++ с указанием непосредственно в код, где эти pair определены.

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<iostream>
#include<vector>
#include<algorithm>
#include<string>
using namespace std;
 
typedef pair<string, unsigned int> rate;
 
void ShowMeStudents(vector<rate> &v){
    for(unsigned int a=0;a<v.size();a++){
        cout<<v[a].first<<" "<<"("<<v[a].second<<")"<<endl;
    }
    cout<<endl;
}
 
int main(){
    unsigned int N; vector<rate> Sigma; string o;
 
    cin>>N;
    for(unsigned int i=1;i<=N;i++){
        getline(cin,o);
        Sigma.push_back(rate(o,i));
    }
    sort(Sigma.begin(),Sigma.end());
    ShowMeStudents(Sigma);
    return 0;
}
Вот как моя прога сейчас выглядит. Кстати, к вопросу:

а где и как вы это определяете?
Я в код вписала тестовую строчку, выводящую единицу во время выполнения каждой итерации в цикле, из чего я заметила, что на первой итерации компилятор как будто вообще не знает о строке ничего. Откуда это, я понять не могу.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru