You've answered 0 of 178 questions correctly. (Clear)
Question #375 Difficulty:
According to the C++23 standard, what is the output of this program?
#include <iostream>
#include <utility>
struct A {
A() = default;
A(const A &a) { std::cout << '1'; }
A(A &&a) { std::cout << '2'; }
};
A a;
int main() {
[a = std::move(a)]() {
[a = std::move(a)]() {};
}();
}
Hint:
The outer lambda captures the global a
. The inner lambda captures the a
of the outer lambda. That lambda is not declared mutable
, so its function call operator is const
.
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
Android app
Get Sergey Vasilchenko's CppQuiz Android app.
C++ Brain Teasers
Get the book, support the site!