Warum definiert der C++-Standard nicht implizit ein Lambda, das nichts erfasst, standardmäßig als „statisch“?C++

Programme in C++. Entwicklerforum
Guest
 Warum definiert der C++-Standard nicht implizit ein Lambda, das nichts erfasst, standardmäßig als „statisch“?

Post by Guest »

C++23 ermöglicht die Definition eines Lambda als statisch. d. h. wenn ein Lambda nichts erfasst, kann es als statisch definiert werden:

Code: Select all

// with superfluous argument `this`, less efficient.
auto fn1 = [](int a, int b) { return a + b; };

// no argument `this`, more efficient!
auto fn2 = [](int a, int b) static { return a + b; };
Ich frage mich nur:

Warum definiert der C++-Standard nicht implizit ein Lambda, das nichts erfasst, als statisch standardmäßig?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post