Bonjour,
Je suis tombé sur des codes ou il y a :: en debut de ligne. Je ne trouve pas de réponse sur internet...
A quoi ca sert d'avoir :: comme dans l'example ::testing::InitGoogleTest?
D'avance merci.
Version imprimable
Bonjour,
Je suis tombé sur des codes ou il y a :: en debut de ligne. Je ne trouve pas de réponse sur internet...
A quoi ca sert d'avoir :: comme dans l'example ::testing::InitGoogleTest?
D'avance merci.
Salut,
C'est pour indiquer/forcer qu'il faut trouver sa définition dans le namespace global.
Merci pour la réponse.
Donc c'est superflu? Ca change quoi si on ne le met pas?
Non, ce n'est pas superflu : le namespace local est prioritaire (comme lorsque tu définis une variable qui a le même nom qu'une autre à portée extérieure : { int i = 0; { int i; i = 1; } }). Si on cherche à référencer un namespace à portée globale qui porte le même nom, on a besoin de l'opérateur ::.
Dans ton exemple si tu omets cet opérateur et qu'un namespace local testing existe, il masquera ::testing.
Cool, je ne connaissais pas "l'astuce" du :: :)