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

Анонимный объект по аналогии с анонимной функцией (lambda) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ UnixPosix, не ври мне! (неправильный подсчет времени вручную) http://www.cyberforum.ru/cpp-beginners/thread1062443.html
Проблема следующая - реализовал я нуля перевод из posix в человечную дату. А тут проблема появилась: ввожу 54588753952 в свою программу, а также сюда http://www.cy-pr.com/tools/time/, всё совпадает, не считая разницы в почти 2 недели! В 20 веке, в 19 всё ок. Но уже при вводе 6338155552 разница получается один день! Моя прога: Введите время в Unix формате 6338155552 Конвертируем: 5.11.2170...
C++ Сформировать файл h, заменив каждое вхождение слова «это» на слово «то» Задача: Дан текстовый файл f. Сформировать файл h, заменив каждое вхождение слова «это» на слово «то». Слова – группы символов, разделенные про-белом или признаком конца строки. Никак не разберусь именно с заменой,подскажите пожалуйста,как это можно сделать. #include <iostream> #include <fstream> #include <cstring> using namespace std; const int k=40; http://www.cyberforum.ru/cpp-beginners/thread1062428.html
Для заданного натурального n вычислить C++
Для заданого натурального n обчислити S = 1 + 1*2 + 1*2*3 + … + 1*2* …*n . нужно написать программу в С++
Таблица расхода материалов за сутки C++
#include <iostream> #include <conio.h> #include <string> using namespace std; int main(){ string s; struct table{ int nomer; string surname; string name;
C++ Изменить матрицу так, чтобы в строках остались элементы, которые встречаются более одного раза, а другие заменить нулями http://www.cyberforum.ru/cpp-beginners/thread1062405.html
Условие: Даны натуральные числа m, n (m, n <= 10) и целочисленную матрицу размера m x n. Изменить матрицу так, чтобы в строках остались элементы, которые встречаются более одного раза, а другие заменить нулями. Решение: Задача работает некорректно, не могу понять алгоритм работы:wall:, и как нужно её сделать. Помогите новичку пожалуйста.:help: #include <iostream> #include <math.h> using...
C++ Профессионалы программирования дайте совет Хочу стать отличным программистом. Если честно в школе до 9-го класса учился плохо в 10-11 поднажал чтобы поступить в институт,как бы знаний хватило чтобы поступить а за время учебы в школе много чего упустил. Сейчас учусь на первом курсе на программиста, много чего не понимаю, думаю это все недостатки знаний. Дайте совет направьте на путь не легкий и тяжелый. Скажите как вы начинали и какие... подробнее

Показать сообщение отдельно
Dmitriy_M
1294 / 1175 / 104
Регистрация: 20.03.2009
Сообщений: 4,208
Записей в блоге: 11
04.01.2014, 14:20     Анонимный объект по аналогии с анонимной функцией (lambda)
Кликните здесь для просмотра всего текста

Цитата Сообщение от outoftime Посмотреть сообщение
gray_fox, Да да да (:

Dmitriy_M, Ну так вот я и хочу создать объект без его описания, т.е. без класса. В моем случае подходят как вариант со структурой так и со статической переменной. Правда структура более щадящая к памяти и вообще вариант получше, только вот мне бы хотелось создать инстанс анонимного класса. К примеру на javascript это было-бы где-то так:
Javascript
1
2
3
4
5
6
var generator = function(){
    var i = 1,
        factorial = function(n){ return n < 2 ? 1 : factorial(n-1) * n; };
 
    return factorial(i++);
};
Но на C++ я не нашел как сделать это в чистом виде. Если у кого есть соображения, не считая уже упомянутых выше, буду признателен если отпишитесь.

А где здесь объект и ОО в целом?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <functional>
 
int main() {
 
    std::function<int()> fun = []()
    {
     int k = 4;
     std::function<int (int)> factorial = [&] (int i) 
     { 
        return (i == 1) ? 1 : i * factorial(i - 1); 
     };
     return factorial(k++);
    };
    std::cout<<fun()<<std::endl;
 
    return 0;
}
Почти чистая функциональщина.
 
Текущее время: 23:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru