Сообщение деструктора не появляется на консоли C ++ - PullRequest
1 голос
/ 22 апреля 2020

Таким образом, после того, как я запустил свой код, консоль в Visual Studio исчезает слишком быстро, прежде чем я нажимаю любую кнопку, поэтому я начала использовать cin.get(); или cin.ignore(); для решения этой проблемы.

И из-за что я не вижу сообщения cout на консоли, которое является моей функцией destrcutor. Только когда я удаляю функцию cin.get();, я могу видеть сообщение, но оно исчезает слишком быстро.

Есть ли способ решить эту проблему?

1 Ответ

1 голос
/ 22 апреля 2020

Вы можете просто поместить код между фигурными скобками, чтобы вызвать вызов деструктора:

int main()
{
    {
        YourVar test;

    } // destructor of test is called

    cin.get();

    return 0;
}

Или даже лучше, как предлагает Реми Лебо в комментарии:

void doIt()
{
    YourVar test;

} // destructor of test is called

int main()
{
    doIt();

    cin.get();

    return 0;
}
...