You've answered 0 of 174 questions correctly. (Clear)

Question #289 Difficulty: 2

According to the C++23 standard, what is the output of this program?

    #include <iostream>

void f(int a = []() { static int b = 1; return b++; }())
{
    std::cout << a;
}

int main()
{
    f();
    f();
}

Hint:

The lambda expression results in a single type with a member function operator() which has a static local variable static int b.

Answer:

Problems? View a hint or try another question.

I give up, show me the answer (make 3 more attempts first).

Mode : Training

You are currently in training mode, answering random questions. Why not Start a new quiz? Then you can boast about your score, and invite your friends.

Contribute

Create your own!

Android app

Get Sergey Vasilchenko's CppQuiz Android app.

C++ Brain Teasers

Get the book, support the site! C++ Brain Teasers cover