Liste des Groupes | Revenir à cl c |
On 10/04/2024 09:52, Lawrence D'Oliveiro wrote:That's not an interesting use of a local function! You can move square() outside, and it would still work, putting aside any clashes with existing names called 'square'.On Wed, 10 Apr 2024 09:11:49 +0200, David Brown wrote:There may be other differences in the languages that reduce that effect - or it could be a problem there too. I don't know the details. (Perhaps those on an Ada newsgroup would know better.)
>It is not much used in practice, AFAIK. For some cases the code>
generation for nested functions was fine and straight-forward. In other
cases, however, it required a trampoline generated on the stack, and
that became a real pain once non-executable stacks came into fashion.
That would be true of those other languages that require the feature, too.
>
The problem with trampolines comes about when you want to take the address of the nested function and use that outside of the surrounding function, while you also have variables captured by reference.
True. But Python is a very different language from C++. In Python, not only are functions objects in themselves, but so are classes (the definition of the classes, rather than just instances). Python is a lot more "meta" than C++.Nested functions were never as interesting for C++ as you already have>
better mechanisms for controlling scope and data access - classes and
their methods, including nested classes.
Python does both. Just because you have classes doesn’t mean functions
can’t be first-class objects, too.
Basically, anything you could do with a nested function in gcc C you can do in C++:
int sum_square(int x, int y) {
int square(z) { // int z ??
return z * z;
}
return square(x) + square(y);
}
int sum_square(int x, int y) {What's the significance of the '[]' here?
auto square = [](int z) {
return z * z;
}
return square(x) + square(y);
}
Date | Sujet | # | Auteur | |
7 Apr 24 | Recursion, Yo | 102 | Lawrence D'Oliveiro | |
7 Apr 24 | Re: Recursion, Yo | 100 | fir | |
9 Apr 24 | Re: Recursion, Yo | 99 | Janis Papanagnou | |
9 Apr 24 | Re: Recursion, Yo | 7 | Lawrence D'Oliveiro | |
9 Apr 24 | Re: Recursion, Yo | 5 | Janis Papanagnou | |
9 Apr 24 | Re: Recursion, Yo | 4 | Ben Bacarisse | |
9 Apr 24 | Re: Recursion, Yo | 3 | Janis Papanagnou | |
9 Apr 24 | Re: Recursion, Yo | 2 | Keith Thompson | |
10 Apr 24 | Re: Recursion, Yo | 1 | Janis Papanagnou | |
9 Apr 24 | Re: Recursion, Yo | 1 | bart | |
9 Apr 24 | Re: Recursion, Yo | 91 | Ben Bacarisse | |
9 Apr 24 | Re: Recursion, Yo | 1 | Ben Bacarisse | |
10 Apr 24 | Re: Recursion, Yo | 89 | Lawrence D'Oliveiro | |
10 Apr 24 | Re: Recursion, Yo | 1 | Chris M. Thomasson | |
10 Apr 24 | Re: Recursion, Yo | 86 | David Brown | |
10 Apr 24 | Re: Recursion, Yo | 84 | Lawrence D'Oliveiro | |
10 Apr 24 | Re: Recursion, Yo | 83 | David Brown | |
10 Apr 24 | Re: Recursion, Yo | 73 | bart | |
10 Apr 24 | Re: Recursion, Yo | 71 | David Brown | |
11 Apr 24 | Re: Recursion, Yo | 70 | Lawrence D'Oliveiro | |
11 Apr 24 | Re: Recursion, Yo | 4 | Kaz Kylheku | |
11 Apr 24 | Heh heh... (Was: Recursion, Yo) | 3 | Kenny McCormack | |
11 Apr 24 | Re: Heh heh... (Was: Recursion, Yo) | 2 | Kaz Kylheku | |
11 Apr 24 | Re: Heh heh... (Was: Recursion, Yo) | 1 | Kenny McCormack | |
11 Apr 24 | Re: Recursion, Yo | 65 | David Brown | |
11 Apr 24 | Re: Recursion, Yo | 62 | Kaz Kylheku | |
11 Apr 24 | Re: Recursion, Yo | 1 | David Brown | |
12 Apr 24 | Re: Recursion, Yo | 60 | Lawrence D'Oliveiro | |
12 Apr 24 | Re: Recursion, Yo | 2 | Kaz Kylheku | |
12 Apr 24 | Re: Recursion, Yo | 1 | Dan Cross | |
12 Apr 24 | Re: Recursion, Yo | 57 | Janis Papanagnou | |
12 Apr 24 | Re: Recursion, Yo | 6 | David Brown | |
12 Apr 24 | Re: Recursion, Yo | 5 | Janis Papanagnou | |
12 Apr 24 | Re: Recursion, Yo | 3 | David Brown | |
13 Apr 24 | Re: Recursion, Yo | 2 | Janis Papanagnou | |
13 Apr 24 | Re: Recursion, Yo | 1 | David Brown | |
13 Apr 24 | Re: Recursion, Yo | 1 | Lawrence D'Oliveiro | |
12 Apr 24 | Re: Recursion, Yo | 45 | Lawrence D'Oliveiro | |
12 Apr 24 | Re: Recursion, Yo | 44 | Janis Papanagnou | |
12 Apr 24 | Re: Recursion, Yo | 1 | bart | |
13 Apr 24 | Re: Recursion, Yo | 42 | Lawrence D'Oliveiro | |
13 Apr 24 | Re: Recursion, Yo | 14 | Michael S | |
14 Apr 24 | Re: Recursion, Yo | 11 | Ben Bacarisse | |
14 Apr 24 | Re: Recursion, Yo | 10 | Michael S | |
15 Apr 24 | Re: Recursion, Yo | 9 | Janis Papanagnou | |
15 Apr 24 | Re: Recursion, Yo | 8 | Keith Thompson | |
15 Apr 24 | Re: Recursion, Yo | 7 | Ben Bacarisse | |
15 Apr 24 | Re: Recursion, Yo | 6 | Keith Thompson | |
15 Apr 24 | Re: Recursion, Yo | 2 | bart | |
15 Apr 24 | Re: Recursion, Yo | 1 | Ben Bacarisse | |
15 Apr 24 | Re: Recursion, Yo | 3 | Janis Papanagnou | |
15 Apr 24 | Re: Recursion, Yo | 1 | Janis Papanagnou | |
15 Apr 24 | Re: Recursion, Yo | 1 | Keith Thompson | |
14 Apr 24 | Re: Recursion, Yo | 2 | Lawrence D'Oliveiro | |
14 Apr 24 | Re: Recursion, Yo | 1 | Keith Thompson | |
13 Apr 24 | Re: Recursion, Yo | 27 | Janis Papanagnou | |
14 Apr 24 | Re: Recursion, Yo | 26 | Lawrence D'Oliveiro | |
14 Apr 24 | Re: Recursion, Yo | 25 | Ben Bacarisse | |
14 Apr 24 | Re: Recursion, Yo | 2 | bart | |
14 Apr 24 | Re: Recursion, Yo | 1 | Ben Bacarisse | |
15 Apr 24 | Re: Recursion, Yo | 22 | Lawrence D'Oliveiro | |
15 Apr 24 | Re: Recursion, Yo | 20 | Chris M. Thomasson | |
15 Apr 24 | Re: Recursion, Yo | 5 | Ben Bacarisse | |
16 Apr 24 | Re: Recursion, Yo | 4 | Lawrence D'Oliveiro | |
17 Apr 24 | Re: Recursion, Yo | 3 | Ben Bacarisse | |
18 Apr 24 | Re: Recursion, Yo | 2 | Lawrence D'Oliveiro | |
22 Apr 24 | Re: Recursion, Yo | 1 | Janis Papanagnou | |
15 Apr 24 | Re: Recursion, Yo | 14 | Janis Papanagnou | |
16 Apr 24 | Re: Recursion, Yo | 2 | Lawrence D'Oliveiro | |
22 Apr 24 | Re: Recursion, Yo | 1 | Janis Papanagnou | |
16 Apr 24 | Re: Recursion, Yo | 11 | Michael S | |
19 Apr 24 | Re: Recursion, Yo | 9 | Tim Rentsch | |
19 Apr 24 | Re: Recursion, Yo | 4 | bart | |
20 Apr 24 | Re: Recursion, Yo | 3 | Ben Bacarisse | |
20 Apr 24 | Re: Recursion, Yo | 1 | Keith Thompson | |
20 Apr 24 | Re: Recursion, Yo | 1 | Kaz Kylheku | |
19 Apr 24 | Re: Recursion, Yo | 1 | Keith Thompson | |
19 Apr 24 | Re: Recursion, Yo | 2 | Keith Thompson | |
20 Apr 24 | Re: Recursion, Yo | 1 | Tim Rentsch | |
20 Apr 24 | Re: Recursion, Yo | 1 | Tim Rentsch | |
22 Apr 24 | Re: Recursion, Yo | 1 | Janis Papanagnou | |
15 Apr 24 | Re: Recursion, Yo | 1 | Ben Bacarisse | |
12 Apr 24 | Re: Recursion, Yo | 4 | bart | |
12 Apr 24 | Re: Recursion, Yo | 2 | Janis Papanagnou | |
12 Apr 24 | Re: Recursion, Yo | 1 | bart | |
13 Apr 24 | Re: Recursion, Yo | 1 | Keith Thompson | |
13 Apr 24 | Re: Recursion, Yo | 1 | Tim Rentsch | |
11 Apr 24 | Re: Recursion, Yo | 2 | Keith Thompson | |
12 Apr 24 | Re: Recursion, Yo | 1 | David Brown | |
14 Apr 24 | Re: Recursion, Yo | 1 | fir | |
10 Apr 24 | Re: Recursion, Yo | 1 | Janis Papanagnou | |
10 Apr 24 | Re: Recursion, Yo | 2 | Kaz Kylheku | |
10 Apr 24 | Re: Recursion, Yo | 1 | David Brown | |
11 Apr 24 | Re: Recursion, Yo | 2 | Lawrence D'Oliveiro | |
12 Apr 24 | Re: Recursion, Yo | 1 | Ben Bacarisse | |
11 Apr 24 | Re: Recursion, Yo | 4 | Lawrence D'Oliveiro | |
11 Apr 24 | Re: Recursion, Yo | 1 | Kaz Kylheku | |
11 Apr 24 | Re: Recursion, Yo | 2 | David Brown | |
11 Apr 24 | Re: Recursion, Yo | 1 | Lawrence D'Oliveiro | |
10 Apr 24 | Re: Recursion, Yo | 1 | Kaz Kylheku | |
10 Apr 24 | Re: Recursion, Yo | 1 | Tim Rentsch | |
9 Apr 24 | Re: Recursion, Yo | 1 | Lawrence D'Oliveiro |
Les messages affichés proviennent d'usenet.