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

Непонятки с bind2nd - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вылет при срабатывании деструктора http://www.cyberforum.ru/cpp-beginners/thread943922.html
Собственно говоря вот: class MatrixGraph { int **arcs; int n; public: MatrixGraph(int vertexnumber) //конструктор графа
C++ Задача по вложенным циклам Здравствуйте! Помогите растолковать код, не могу понять какой цикл к чему относится. Вот задача: Напишите программу, использующую вложенные циклы, которая запрашивает у пользователя значение... http://www.cyberforum.ru/cpp-beginners/thread943920.html
C++ Вызов функции сразу для массива всего классов
Добрый день. Я делаю класс Pixel, и в этом классе есть функция Draw(); Так вот я создаю массив этих классов. Вопрос: Как мне вызвать функцию Draw() каждого экземпляра класса, не используя циклы,...
Как осуществить циклический сдвиг элементов квадратной матрицы C++
Помогите осуществить циклический сдвиг элементов квадратной матрицы размерности MXN вправо на k элементов таким образом: элементы 1-й строки сдвигаются в последный столбец сверху вниз, из него- в...
C++ Включить dep в новом проекте http://www.cyberforum.ru/cpp-beginners/thread943892.html
как включить dep в новом проекте? использую visual studio 2010 express
C++ прочитать текстовой файл без заморочек Люди!! в билдере для чтения текстового файла делал так TStringList *List = new TStringList; List->LoadFromFile(File_name); потом к List обращался по строкам List есть ли для обычного с++... подробнее

Показать сообщение отдельно
xSCJx
22 / 19 / 1
Регистрация: 24.12.2012
Сообщений: 435

Непонятки с bind2nd - C++

26.08.2013, 17:13. Просмотров 568. Ответов 2
Метки (Все метки)

Привет. Вот к примеру есть такой код:
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
#include <algorithm>  
#include <functional>   
#include <iostream>       
#include <array>       
  
class multip : public std::binary_function<int, int, void>
{
public:
    void operator()(int val, int to) const {
        std::cout << (val *= to) << std::endl;
    }
 
};
 
int main () 
{
    std::array<int, 5> a = { 1, 2, 3, 4, 5 };
 
    std::for_each(a.begin(), a.end(), std::bind2nd(multip(), 2));
 
    //std::copy(a.begin(), a.end(), std::ostream_iterator<int>(std::cout, " "));
    
    system("PAUSE");
    return 0;
}
почему, если убрать const в операторе(), код не будет работать?
И еще, должен быть объязательно функтор? Обычную функцию с bind2nd, использовать нельзя?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru