Bonjour Tout le monde,
Je voudrais savoir la différence entre une expression lambda et une fonction lambda.
Quel est l'intérêt d'utiliser les fonctions lambda en C++?
Pourquoi on les appelle anonymes?
Si j'ai ce code qui est correct tel qu'il est écrit:
pourquoi il faut mettre le mot clé auto devant le nom des fonctions anonymes/lambda?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 #include <iostream> using namespace std; int main() { auto func=[] {cout << "hello" << endl; } ; func(); auto f= [] () -> void { cout << "hello"; }; f(); auto f1= [] () -> double { double r; cout << "donner un reel" << endl; cin >> r; return r*r; }; cout << f1() << endl; return 0; }
par exemple pour la fonction f1: le type de retour est double. Pourquoi en remplaçant auto par double, le programme génère une erreur?
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 double f1= [] () -> double { cout << "donner un reel" << endl; double r; cin >> r; return r*r; };
Partager