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

Question #127 Difficulty: 3

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

    #include <iostream>
#include <type_traits>

int main()
{
  int i, &j = i;
  [=]
  {
    std::cout << std::is_same<decltype    ((j)),     int         >::value
              << std::is_same<decltype   (((j))),    int      &  >::value
              << std::is_same<decltype  ((((j)))),   int const&  >::value
              << std::is_same<decltype (((((j))))),  int      && >::value
              << std::is_same<decltype((((((j)))))), int const&& >::value;
  }();
}

Hint:

[=] captures by copy.

There's an important difference between decltype(j) and decltype((j)).

What is the constness of the lambda's operator()?

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