#include <iostream>
class X{
public:
X(int n = 0) : n(n) {}
~X() {std::cout << n;}
int n;
};
void main()
{
X a(1);
const X b(2);
static X c(3);
}
Output is 213
, I thought the destructor uses a LIPO stack, so why it doesn't destruct in a reverse order 321
?
I'm pretty confused and I'd like to know more about it. Thank you so much.