Maison >développement back-end >C++ >Pourquoi `printf` fonctionne-t-il à la fois dans `std::printf` et `printf` lors de l'utilisation de `` en C ?
espace de noms cstdio Stdio.h
Dans la documentation de référence C pour
Réponse
Y compris
Ce comportement s'étend à tous les en-têtes de style C. Selon la norme C 11 (Annexe D), les en-têtes de bibliothèque standard C se comportent comme suit :
"2 Chaque en-tête C, dont chacun a un nom de la forme nom.h, se comporte comme si chaque nom placé dans l'espace de noms de la bibliothèque standard par l'en-tête cname correspondant est placé dans la portée de l'espace de noms global."
Par conséquent, il reste incertain si ces noms sont initialement déclarés ou définis dans l'espace de noms std puis injectés dans l'espace de noms global via déclarations d'utilisation, ou vice versa.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!