Допустим, окончили вы мега-курсы, и приходите устраиваться C++-программистом. Написали «C++» в списке знаний и навыков в резюме, и с гордо поднятой головой шагаете на интервью.
И вот, вам дают такой вопросик. Скажите, что произойдёт при выполнении данного кода (код, разумеется, бредовый, иначе как проверить знание секретов C++?):
#include <iostream>
struct T
{
int iVal = 0;
void printValue() const
{
std::cout << "Value is " << iVal << std::endl;
}
void destruct()
{
delete this;
}
};
int main()
{
T x{9};
x.destruct();
x.iVal = 11;
x.printValue();
}
Какой правильный ответ, и почему?