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

Существует ли элемент в "сложном" векторе - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Передача массива в функцию - что на самом деле предается? http://www.cyberforum.ru/cpp-beginners/thread921656.html
Имя массива это константный указатель. Когда мы передаем его в функциюvoid f1(int *iArray) f1 это происходит как pass by reference. В этой функции можно менять значения элементов массива и делать так iArray++. Теперь вопрос. Делая так iArray++ мы изменяем адресс начала массива? Но как это возможно, если Имя массива это константный указатель А вот пример: void f1(int *, int ); int q=444;
C++ Удаление структуры из массива структур Допустим имеется структура ... struct WORKER { char familiya; char name; char otchestvo; }; ... http://www.cyberforum.ru/cpp-beginners/thread921645.html
C++ Шаблонный класс list, собственная реализация
Привет всем. Я по чуть-чуть пишу шаблонный класс list с добавлением элементов в начало списка. Уже на свой страх и риск реализовал три метода. Хотел бы услышать ваше мнение про метод remove_all(). Не допустил ли я, каких либо утечек памяти в нём? #include <iostream> using namespace std; template <class type> class list { public: list() { items = nullptr;
C++ Методы init() и dispose() - теория
Всегда интересовало, зачем существуют эти методы? Допустим, есть некоторый объект класса и в коде видим: x = new myClass(); x.init(); ... x.dispose(); delete x; Одно дело, если бы в эти методы передавались параметры, а другое дело это. Разве не проще было бы весь код init поместить в конструктор, а dispose, соответственно, в деструктор?
C++ немогу разобраться с переменной C++ http://www.cyberforum.ru/cpp-beginners/thread921619.html
Объясните пожалуйста, вот есть переменные int, char, float и т.д а, в некоторых функциях есть параметр, для которого надо указать переменную типо const char *str или char *str, что это значит???
C++ Вывести число с тремя цифрами после запятой Э. Кенинг. Эффективное программирование на C++ есть одна задача и в ней таким способом это сделано: небольшую часть программы покажу, остальное не имеет значения std::streamsize prec; prec = std::cout.precision(); std::cout << "Ваша итоговая оценка равна " << std::setprecision(3) << 0.2*midterm + 0.4*final + 0.4*sum/count << std::setprecision(prec) << std::endl; Но все равно после... подробнее

Показать сообщение отдельно
NanoBreaker
 Аватар для NanoBreaker
23 / 23 / 7
Регистрация: 11.07.2013
Сообщений: 85
11.07.2013, 17:52     Существует ли элемент в "сложном" векторе
Здравствуйте, недавно столкнулся с такой проблемой
Есть такая структура и последующий вектор:

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
struct cell
{
    char symbol;
    int x;
    int y;
};
 
vector<cell> map_vector;
 
. . .
 
Заполнение вектора 10-ю элементами:
 
string str = "qwertyuiop";
for(int i = 0; i < 10; i++)
{
    cell object = { str[i], i, i*2 };
}
 
. . .
 
cell obj = { '1', 1, 1 };
 
if(binary_search(map_vector.begin(),map_vector.end(),obj)){
    cout << "Exist" << endl;
}else{
    cout << "Doesn't Exist" << endl;
}
В обычном векторе состоящем из int элементов данной проблемы не было бы, но тут при использование binary_search он мне выбивает целый ряд ошибок, и то что он не может определить шаблон под "cell"

Ошибки:

*Error 2 error C2784: 'bool std::operator <(const std::basic_string<_Elem,_Traits,_Alloc> &,const _Elem *)' : could not deduce template argument for 'const std::basic_string<_Elem,_Traits,_Alloc> &' from 'const cell' c:\program files (x86)\vc\include\algorithm 2987

. . .

*Error 10 error C2676: binary '<' : 'const cell' does not define this operator or a conversion to a type acceptable to the predefined operator c:\program files (x86)\vc\include\algorithm 2987

Можете пожалуйста найти выход из этой проблемы, или предоставить другой способ определения существует ли элемент в таком роде вектора.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru