Форум программистов, компьютерный форум, киберфорум
Наши страницы

STL и ostream_iterator - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Отследить ошибку http://www.cyberforum.ru/cpp-beginners/thread1024980.html
Помогите найти ошибку в программе. #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv) { int n = 0, k = 0, i, r, j = 0, q1, q2, *a; a = new int...
C++ Создание дерева Помогите написать функцию создания дерева, заполняющуяся по порядку ввода элементов с лева на право http://www.cyberforum.ru/cpp-beginners/thread1024974.html
Компилятор и среда разработки. Какие лучше новичку? C++
Посоветуйте среду разработки с подсветкой синтаксиса для С++. И компилятор тоже. Пробовал Visual 2010, но как его запустить, где он вообще?
C++ Выделение памяти
int main() { FILE *fIn = NULL, *fOut =NULL; Error EMyError; CNodeStack *Start; CNodeStack *ListF = new CNodeStack; ListF->next = NULL; Start = ListF;...
C++ Перегрузка операций и функций http://www.cyberforum.ru/cpp-beginners/thread1024962.html
Выполнить перегрузку перечисленных операций, закрепив за ними соответствующий функциональный смысл. Прямоугольная матрица +/- сложение/вычитание двух матриц,*умножение двух матриц
C++ Вывод на экран корневого каталога Доброго времени суток, как на С++ написать, чтобы вывело на экран содержимое корневого каталога. Спасибо подробнее

Показать сообщение отдельно
tzeentch
25 / 25 / 2
Регистрация: 13.04.2013
Сообщений: 79

STL и ostream_iterator - C++

01.12.2013, 21:49. Просмотров 483. Ответов 6
Метки (Все метки)

Здравствуйте, товарищи!
Вопрос к знатокам библиотеки STL.

Решая одну задачу в которой надо было посчитать некоторые точки, каждая из которых уникальна, решил использовать для хранения set, чтобы отсеивать одинаковые точки уже самим контейнером.

Сперва использовал свою элементарную структуру Point, но компилер выдавал ошибки про отсутствие операторов вывода и сравнения. Решил юзать стандартный класс pair - все равно ошибки.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <iterator>
#include <ostream>
#include <set>
 
typedef std::pair<int, int> Point;
 
std::ostream& operator<<(std::ostream& o, const Point& p) {
  return o << p.first << ' ' << p.second;
}
 
int main()
{
    std::set<Point> s;
    s.insert( Point(2,2) );
    s.insert( Point(3,3) );
    s.insert( Point(2,3) );
    s.insert( Point(4,4) );
    std::copy(s.begin(), s.end(), std::ostream_iterator<Point>(std::cout, "\n"));
}
Подскажите пожалуйста, что я делаю не так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru