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

Удаление элементов из vector; bind или not1 - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Скопировать поток и добавить ошибки в поток http://www.cyberforum.ru/cpp-beginners/thread934887.html
Здорова господа! Есть задачка: "Скопируйте поток объектов типа Name_and_address и вставьте в него столько ошибок, сколько сколько сумеете придумать (например, ошибки форматирования, или ошибочное определение конца строк). Обработайте эти ошибки таким образом, чтобы функция копирования смогла прочитать большинство из корректно отформатированных объектов типа Name_and_address, несмотря на то,...
C++ getch() error Привет всем, такое дело, не работает getch()! Вот, что пишет: C:\Users\AKHURS\Desktop\tetris_start.cpp:122: implicit declaration of function `int getchar(...)' conio.h подключил http://www.cyberforum.ru/cpp-beginners/thread934882.html
C++ Запись в массив не то что нужно
Мне нужно сверять два слова на руском, и вот когда я ввожу в масив на руском и вывожу все нормально но когда сверяю с другим руским слвоом тут начинаються проблемы, потому что всегда в масив записывает что-тго типа этого - "аУп", хоть я ввожу "Привет". #include <iostream> using namespace std; void main() {char i ; cout<<"Enter word - ";cin.getline(i,99);
C++ Подключение сторонней библиотеки
Всем добрый день! Подскажите, пожалуйста, как можно подключить C библиотеку .so к файлам C++? Собираю все средствами gcc, Unix-like OS. Спасибо!)
C++ Проверка введенных символов http://www.cyberforum.ru/cpp-beginners/thread934868.html
Привет. Мне нужно сделать переводчик с руского на английский и с английского на руский. У меня есть база с словами и переводами к ним и когда я хоч проверить руское слово с тем что ввел пользователь пишет что нет такого слова хоть оно и есть. #include <iostream> using namespace std; void main() {char i ;
C++ Разгадать мысли Либерти Помогите, пожалуйста, понять смысл использования 36-ой строки в этом листинге. #include "stdafx.h" #include <fstream> #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv) { char fileName ; подробнее

Показать сообщение отдельно
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
07.08.2013, 17:31     Удаление элементов из vector; bind или not1
Как правильно забиндить, - сделать аналог, как через лямбду. Или же тут больше подойдет использование not1 (или not2). Не могу сам разобраться. Вот код:
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
29
30
31
32
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <functional>
 
class A
{
    std::string m_ext;
public:
    A(const char* e) : m_ext(e) {}
    std::string extension() const {return m_ext;}
    void print() const {std::cout << m_ext << std::endl;}
};
 
using namespace std::placeholders;
 
int main()
{
    std::vector<A> v {"txt", "txt", "pro", "pro", "jpg"};
    for (auto& a : v) a.print();
    
    //в векторе должны остаться только объекты с именем "pro"
    //v.erase(std::remove_if( v.begin(), v.end(), [](const A& a){return a.extension() != "pro";}), v.end());
    v.erase(std::remove_if( v.begin(), v.end(), std::bind(&A::extension, std::not_equal_to<A>, _1, _2, "pro") ), v.end());
    //v.erase(std::remove_if( v.begin(), v.end(), std::not1(std::mem_fn(&A::extension), _1, "pro") ), v.end());
    
    std::cout << std::endl;
    for (auto& a : v) a.print();
 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru