Le courant C++ états standard (27,3/2):
[...] Les objets sont construits et les associations sont établies à un certain temps avant ou pendant la première fois qu'un objet de la classe ios_base::Init
est construit, et dans tout cas avant que le corps de commence l'exécution. Les objets sont non détruits lors de l'exécution du programme .
et de ([iostream.objects]/2:
Si une unité de traduction comprend <iostream>
ou explicitement construit un objet ios_base::Init
, ces flux d'objets doivent être construits avant l'initialisation dynamique du non locaux objets définis par la suite en ce que l'unité de traduction. »
En langage C++, une unité de traduction n'est rien d'autre qu'une terminologie de compilation pour un fichier et tous les en-têtes inclus dans ce fichier.
Vous avez écrit "count". Il est utile de penser à "c-out" comme à "console out". De même, il y a un "c-in". – mpen