История изменений
Исправление
pavlick,
(текущая версия)
:
Ну и в качестве небольшого теста. Погонял под отладчиком, компилировал с -O2.
struct S {
int i;
~S() {}
};
S &g1_my() {
static S s{}; return s;
}
S &g2_my() {
static S s{}; return s;
}
int main() {
#ifdef FIRST
g1_my(); g2_my();
#else
g2_my(); g1_my();
#endif
return 0;
}
#defind FIRST
//g2_my()::s
//g1_my()::s
#defind SECOND
//g1_my()::s
//g2_my()::s
Исходная версия
pavlick,
:
Ну и в качестве небольшого теста. Погонял под отладчиком, компилировал с -O2.
struct S {
int i;
~S() {}
};
S &g1_my() {
static S s; return s;
}
S &g2_my() {
static S s; return s;
}
int main() {
#ifdef FIRST
g1_my(); g2_my();
#else
g2_my(); g1_my();
#endif
return 0;
}
#defind FIRST
//g2_my()::s
//g1_my()::s
#defind SECOND
//g1_my()::s
//g2_my()::s