Указаны на датчики, толкнувшись на стек. C ++ [дубликат]C++

Программы на C++. Форум разработчиков
Anonymous
Указаны на датчики, толкнувшись на стек. C ++ [дубликат]

Сообщение Anonymous »

Я думаю о том, что стек раскручивается, когда здесь брошено исключение. В приведенном ниже простом примере, когда Throw 505 выполняется, из того, что я понимаю, стек начинает раскручиваться, пока он не найдет блок улова, вызывая деструкторы на каждом объекте, созданный с начала блока Try. Я немного смущен тем, что происходит под капюшоном здесь. < /P>
class MyClass1
{
public:

MyClass1(){}
~MyClass1(){}

private:

int num1 = 1;
int num2 = 2;
};

class MyClass2
{
public:

MyClass2(){}
~MyClass2(){}

private:

int num1 = 3;
int num2 = 4;
};

int main()
{

try
{
MyClass1 mc1;
MyClass2 mc2;

throw 505; // Desctructors for mc1 and mc2 will get called, but how exactly?
}

catch (int myNum)
{

}
}


Подробнее здесь: https://stackoverflow.com/questions/795 ... he-stack-c

Вернуться в «C++»