Я написал следующий код (Все еще интересуется его использованием...) по умолчанию для пользовательского ввода, если параметр не передан.
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
unsigned getInput() {
unsigned input;
std::cin >> input;
return input;
}
void foo(unsigned number = getInput()) {
std::cout << number << "\n";
}
int main() {
foo(1); //prints 1
foo(); //defaults to user input
return 0;
}
Я хотел спросить, можем ли мы каким-либо образом преобразовать функцию getInput()
в лямбда? Что-то в духе
void foo(unsigned number = { []() {unsigned num = 0; std::cin >> num; return num; } }) {
std::cout << number << "\n";
}
Кроме того, как добиться аналогичной функциональности в python а>?