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

std::map и перегрузка оператора - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Наследование статической переменной http://www.cyberforum.ru/cpp-beginners/thread922574.html
есть класс с статистическим полем я от него "произвожу" два потомка. у всех этик классов будет одно общее поле(переменная) или же у каждого своё?
C++ перевести программу из паскаля в с++ (для среды Borland C++). Дан массив размера N. Осуществить циклический сдвиг элементов массива влево на одну Помогите пожалуйста перевести программу из паскаля в с++(для среды Borland C++) Условие:дан массив размера N. Осуществить циклический сдвиг элементов массива влево на одну позицию (при этом АN перейдет в АN-1, АN-1 - в АN-2, А1 - в АN) прога: const maxSize=100; type Tarr=array of integer; var http://www.cyberforum.ru/cpp-beginners/thread922570.html
перевести программу из паскаля в с++ (для среды Borland C++). Дана матрица размера MxN. Поменять местами столбец с номером N и первый из столбцов C++
Помогите пожалуйста перевести программу из паскаля в с++(для среды Borland C++) Условие:дана матрица размера MxN. Поменять местами столбец с номером N и первый из столбцов, содержащих только отрицательные элементы. Если требуемых столбцов нет, то вывести матрицу без изменений. прога: const maxSize=10; type Tmatrix=array of integer; var
перевести программу из паскаля в с++ (для среды Borland C++). Даны строки S, S1,S2. Заменить в строке S последнее вхождение строки C++
Помогите пожалуйста перевести программу из паскаля в с++(для среды Borland C++) Условие: даны строки S, S1,S2.Заменить в строке S последнее вхождение строки S1 на строку S2(обработка строк). прога var s,s1,s2:string; i:byte; begin write('Введите строку S='); readln(s);
C++ Ошибка: undefined reference to `WinMain@16' http://www.cyberforum.ru/cpp-beginners/thread922560.html
Подскажите пожалуйста, что означает эта ошибка и как от нее озбавиться: Linking... F:\MinGWStudio\MinGW\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\libmingw32.a(main.o):main.c: (.text+0x106): undefined reference to `WinMain@16' collect2: ld returned 1 exit status CLib.exe - 1 error(s), 0 warning(s) P.S. Если нужно приложу код. Заранее спасибо.
C++ перевести программу из паскаля в с++(для среды Borland C++) Помогите пожалуйста перевести программу из паскаля в с++(для среды Borland C++) Условие: дан символ С, изображающий цифру или букву(латинскую или русскую). Если С изображает цифру, то вывести строку "digit", если латинскую букву - вывести строку "lat", если русскую - вывести строку "rus"(обработка строк). прога: var c:char; begin write('Введите символ, изображающий цифру или... подробнее

Показать сообщение отдельно
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
13.07.2013, 16:07     std::map и перегрузка оператора
решил освоить стандартные контейнеры и очередь за "map"
нахожу на http://en.cppreference.com/w/cpp/container/map замороченный код, сокращаю его, чтоб читалось, работает. Но как? Здесь по-видимому перегрузка << на на что? и как она реализована? с помощью шаблона...это меня застопорило...какие то Compare, Allocator

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
#include <iostream>
#include <map>
 
// A specialization for Key strings
template<typename T, typename Compare, typename Allocator>
std::ostream& operator<<
(std::ostream& stream, const std::map<std::string, T, Compare, Allocator>& map)
 {stream << '{';
  char comma[3] = {'\0',' ', '\0'};
  for (const auto& pair : map)
  {stream << comma << '"' << pair.first << "\":" << pair.second;
   comma[0] = ',';
  }
  stream << '}';
  return stream;
}
 
int main()
{ typedef std::string Key;
  typedef int Mapped;
  // (1) Default constructor
  std::map<Key, Mapped> map;
  map["something"] = 69;
  map["anything"] = 199;
  map["that thing"] = 50;
  std::cout << std::string(80, '-') << std::endl;
  std::cout << "map = " << map << std::endl;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru