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

Что на выходе у функции insert ? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ winnt.h(5545) : error C2146: что за ошибка ? http://www.cyberforum.ru/cpp-beginners/thread659601.html
c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(5545) : error C2146: syntax error : missing ';' before identifier 'ContextRecord' c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(5545) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(5545) : error C4430: missing...
C++ Проверить утверждение "результатами вычислений по формуле x*x+x+17 при 0 ≤ х ≤ 15 являются простые числа" Составить программу для проверки утверждения «Результатами вычислений по формуле x*x+x+17 при 0 ≤ х ≤ 15 являются простые числа ». Нароботок нет так как непонятно в задаче ничего, может кто-то из вас поможет) http://www.cyberforum.ru/cpp-beginners/thread659596.html
C++ Считывание вещественных переменных до определенного символа
Заранее спасибо за помощь, немного подзабыл как осуществить считывание каких-либо целых или вещественных переменных до,например, точки, а лучше до перевода на новую строку. Только пожалуйста без cout и cin, через обычные fprintf и fscanf. Благодарю, добрые люди)
virtual ~Function(); virtual function(); C++
Что такого дает приставка virtual: функциям деструкторам и class? В Википедии написано,что если деструктор не виртуальный это может приводит к утечкам в памяти, если деструктор виртуальный то все отработает коректно. Вот не понятно что делает(дает) эта приставка virtual? Или подскажите в каком направлении копать.
C++ В двумерном массиве выбрать элементы, которые больше суммы положительных элементов главной диагонали массива http://www.cyberforum.ru/cpp-beginners/thread659587.html
Задача такова: "в двумерном массиве выбрать элементы, которые больше суммы положительных элементов главной диагонали массива". не могли бы вы пример или сам код написать??? буду очень благодарен. Заранее спасибо!!!
C++ как обнулить значение массива в цикле?(с++) Первый раз считает нормально (правильно) А если нажать y то 2 раз считает уже неправльно я так думаю связно это с тем что значение не обнуляються как обнулить значение массива помогите плз пробывал и memset( x, 0, size * sizeof(double)); не помогло =( #include "stdafx.h" #include <iostream> using namespace std; void main() { setlocale(LC_ALL, "Russian_Russia.1251"); подробнее

Показать сообщение отдельно
AnreyKazakov
Заблокирован
28.09.2012, 12:02     Что на выходе у функции insert ?
В учебнике предлагают такой способ подсчета слов одинаковых, !именно с пом итератора:

C++
1
2
3
4
5
map<string,int> m;
    while(cin>>str){
        pair<map<string,int>::iterator,bool> p=m.insert(make_pair(str,1));
        if(!p.second){++p.first->second;}
        }
Но, он мне не совсем понятен...
1. Каждый раз... объявляем пару (итератор карты, булевое значение). буль=0 я думаю в кажд итерации.
2. инициализируем пару "!" а вот тут не ясно... чем?
\\понятно что справа в карту вставляем элемент с ключем слова str и значением 1.
3. смотрим буль у пары, если 1, то увеличиваем, тут все ясно.

Вопрос только в одном что на выходе-то у m.insert(...) ?

почему компелятор меня материт, если я проверяю таким способом....
C++
1
if(!m.insert(make_pair(str,1))){...}
Попутно вопрос =) где сидит make_pair, в <map> или в <utility>?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru