Вы можете проверить, происходит ли разматывание стека, с помощью простого кода:
#include <iostream>
#include <windows.h>
using namespace std;
struct A {
~A() { cerr << "unwound" << endl; }
};
int main() {
A a;
while(1) {
Sleep(1000);
}
}
То, происходит ли это, не должно зависеть от реализации, в зависимости от того, как среда выполнения обрабатывает Ctrl-C. По моему опыту, это не имеет место.