Нужно заполнить дек числами фибоначи при помощи алгоритма generate и лямбда функции.Может кто подкинет идейку через анонимную лямбду?А то через просто функцию сам догадываюсь
Что-то типа
int main(int argc, const char * argv[])
{
deque<int> fib;
generate_n(back_inserter(fib),40,[](){static int f0 = 0, f1 = 1;
int save = f0; f0 = f1;
f1 += save; return save; });
for(auto i: fib) cout << i << endl;
}
Элегантнее, наверное, все-таки через изменяемую лямбду:
#include <iostream>
int main() {
auto f = [x0 = 0u, x1 = 1u]() mutable -> unsigned { auto retVal = x0; x0 = x1; x1 = retVal + x0; return retVal; };
std::cout << f() << '\n';
std::cout << f() << '\n';
std::cout << f() << '\n';
std::cout << f() << '\n';
std::cout << f() << '\n';
std::cout << f() << '\n';
}
Подскажите пожалуйста почему такая запись выдаёт ошибку"не найдена соответствующая функция begin, необходимая для этого основанного на диапазоне...
Подскажите есть ли правила хорошего тона или общепринятые соглашения по управлению динамической памятью в C++
Почему адрес objects у form, user,user2,user3 одинаковый? И как это исправить?