Pouvez-vous penser à une situation où votre programme se bloquerait sans atteindre le point d'arrêt que vous avez défini au début de main()?C++ main() brain teaser
Ma réponse est lors de l'initialisation des variables statiques, mais pas sûr ...
Pouvez-vous penser à une situation où votre programme se bloquerait sans atteindre le point d'arrêt que vous avez défini au début de main()?C++ main() brain teaser
Ma réponse est lors de l'initialisation des variables statiques, mais pas sûr ...
Ma réponse donne 100% de garantie que cela va tomber en panne avant main()
.
#include <exception>
struct A
{
A()
{
std::terminate(); //from <exception>
//you can also call std::abort() from <cstdlib>
}
};
A a;
int main(){}
Démo: http://www.ideone.com/JIhcz
Une autre solution:
struct A
{
A()
{
throw "none";
}
};
A a;
int main(){}
ce site web ideone est vraiment cool! – stonebird
Les exemples ci-dessus sont vraies, mais dans mon expérience, il est généralement dû à un problème chargement d'une DLL ...
Plusieurs choses se produisent avant que 'main()' soit appelé, pas toutes dans votre code ... –
Est-ce que C++ a des blocs {} statiques? La magie écrasante pourrait être possible si c'est le cas. – Doug
@Ignacio, soin de mentionner quelques-unes de ces choses? – stonebird