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

Прокомментировать код функций, генерирующих другие функции (лямбды) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу для поиска и замены (поиск-вставка) http://www.cyberforum.ru/cpp-beginners/thread1632393.html
Доброго! Имеется код на ST (*259384*) HV_259384:= SEL(STATE_NET_RES2_M, IN_RES2_DINT1, 0); (*259398*) UNPACK16_1(HV_259384); Требуется его изменить следующим образом: (*259384*) HV_259384:= SEL(STATE_NET_RES2_M, IN_RES2_DINT1, 0); (*259398*) UNPACK16_1(SEL(STATE_NET_RES2_M, IN_RES2_DINT1, 0)); т.е. вставлять в текст ниже вместо значения HV_ХХХХХХ значение присвоения.
C++ Упражнение по программированию (Стивен Прата, глава 2, упражнение 3) 2 Глава, вопрос 3. Напишите программу на С++, которая использует три определяемых пользователем функции (включая main()) и генерирует следующий вывод: Three blind mice Three blind mice See how they run See how they run Одна функция вызываемая два раза, должна генерировать первые две строки, а другая также вызываемая два раза - оставшиеся строки. Не понимаю как это... http://www.cyberforum.ru/cpp-beginners/thread1632391.html
Целые числа в локальном отладчике C++
#include <stdio.h> #include "stdafx.h" #include <conio.h> #include <iostream> #include <iomanip> using namespace::std; /* печать таблицы температур по Фаренгейту и Цельсию для fahr = 0, 20 ... 300; вариант с плавающей точкой */ int main() { float fahr,celsius;
C++ Инкрементирование элементов массива-счётчика
Здравствуйте. К примеру, есть массив: const int stablePay = 200; // dollars const double rate = 0.09; // 9 % const int totalPaySize = 20; double totalPay;
C++ Не могу удалить динамический массив http://www.cyberforum.ru/cpp-beginners/thread1632360.html
В общем, выдает критическую ошибку: HEAP CORRUPTION DETECTED: after Normal block (#140) at 0x004452BF0. CRT detected that the application wrote to memory after end of heap buffer. когда собираюсь удалить из памяти динамический массив. без delete все работает. в чем проблема? void fillArray(int *pArray, int size); void showArray(int *pArray, int size); void freeArray(int *pArray); void...
C++ Запись в файл слов, которые не повторяются Добрый вечер, помогите с кодом. Как сделать чтобы считать с файла слова в односвязный список, сделать сортировку, и записать в другой файл слова кроме тех которые повторяются. Вот мой код: void List::readFromFile(char *FileWay) { FILE *file; int j = 0; file = fopen(FileWay,"r"); if (file == NULL) { cout << "Error" << endl; return; } подробнее

Показать сообщение отдельно
Melg
538 / 159 / 64
Регистрация: 23.09.2013
Сообщений: 314
05.01.2016, 22:06     Прокомментировать код функций, генерирующих другие функции (лямбды)
anti-k, Пример иллюстрирующий возможную реализацию корректного захвата:
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
#include <iostream>
#include <functional>
 
std::function<int(int)> gen_fun(int n) {
    return [&n](int x) { return x*n; };
}
 
std::function<int(int)> right_gen_fun(const int &n) {
    return [&n](int x) { return x*n; };
}
 
void TestDefault() {
    std::function<int(int)> f = gen_fun(5);
    std::cout << f(1) << std::endl;
    std::cout << f(2) << std::endl;
    std::cout << f(3) << std::endl;
}
 
void TestRight() {
    std::function<int(int)> f = right_gen_fun(5);
    int value = 0;
    std::cout << f(++value) << std::endl;
    std::cout << f(++value) << std::endl;
    std::cout << f(++value) << std::endl;
}
 
int main() {
  TestDefault();
  TestRight();
}
Пруф работоспособности:
http://ideone.com/XlApi6
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru