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

Насколько корректно будет работать замыкание? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ std::unordered_map и много-поточность http://www.cyberforum.ru/cpp-beginners/thread1012241.html
Можно ли обращаться к объекту std::unordered_map одновременно из разных потоков? У меня ключ это ид потока, и когда что-то делаем то каждый поток со своим списком данных, но можно ли такое?
C++ Для каждого из слов указать, сколько раз оно встречается в предложении Задание: Для каждого из слов заданного предложения указать, сколько раз оно встречается в предложении. Прокомментируйте код, пожалуйста, а то мне почти ничего не понятно... #include <iostream> #include <map> #include <string> #include <algorithm> #include <sstream> #include <cctype> #include <iomanip> http://www.cyberforum.ru/cpp-beginners/thread1012231.html
C++ Построить таблицу истинности для 3-х переменных
Нужна помощь, чтобы по двум формулам построить таблицу истинности переменных A, B, C в C#. Вот что у мя получилось: bool A; bool B; bool C; Console.WriteLine("A\tB\tC\t(1)\t(2)"); { for (int i = 0; i <= 1; i++) { for (int j = 0; j <= 1; j++)
C++ замена минимального элемента массива, найти ошибку
Не выводит массив #include<iostream> using namespace std; void main() { int a,min=0,count=0,i;
C++ Даны две действительные квадратные матрицы порядка n. Получить новую матрицу: а) умножением элементов каждой строки первой матрицы на наибольш http://www.cyberforum.ru/cpp-beginners/thread1012199.html
Даны две действительные квадратные матрицы порядка n. Получить новую матрицу: а) умножением элементов каждой строки первой матрицы на наибольшее значений элементов соответствующей строки второй матрицы. Помогите сделать эту задачу с помощью указателей пожалуйста! Буду очень рад если поможете! Вот есть код 1) #include <stdio.h> 2) #include <conio.h> 3) int main( ) {...
C++ Создать односторонний список, который содержит координаты (x,y) точек плоскости Создать односторонний список, который содержит координаты (x,y) точек плоскости. Вывести на экран те точки которые находятся на первой биссектрисе (x = y). подробнее

Показать сообщение отдельно
MastAKK
 Аватар для MastAKK
143 / 134 / 12
Регистрация: 13.10.2012
Сообщений: 586
Записей в блоге: 1
19.11.2013, 18:20     Насколько корректно будет работать замыкание?
Мой друг-JS'ер бросил мне очередной челлендж. В этот раз он мне предложил сделать замыкание для a*x+y
На JS
Javascript
1
2
3
4
5
6
7
8
9
function line(k,b){
  return function(x) {
    return k*x+b;
  }
}
 
var a = line(2,7),    // function(x) { return 2*x + 7; }
    b = line(3,2),    // function(x) { return 3*x + 2; }
    c = line(7,-2);   // function(x) { return 7*x - 2; }

Вроде как-бы я сделал, но не уверен, всегда ли будет корректно работать следующий код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
auto func(int a, int b){
    return [a, b](int x)->int{
        return a*x+b;
    };
}
 
 
 
int main()
{
    auto t = func(0, 2);
    cout << t(3) << endl;
    return 0;
}
Тобишь всегда-ли будет доступ к переменным a и b у функции t()? Может ли случиться такое, что переменные "потеряются" в памяти?

Добавлено через 1 минуту
Тобишь в данном случае он будет работать правильно. Но всегда ли так будет?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru