"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pourquoi `printf` fonctionne-t-il à la fois dans `std::printf` et `printf` lors de l'utilisation de `` en C++ ?

Pourquoi `printf` fonctionne-t-il à la fois dans `std::printf` et `printf` lors de l'utilisation de `` en C++ ?

Publié le 2024-12-21
Parcourir:509

Why does `printf` work in both `std::printf` and `printf` when using `` in C  ?

Espace de noms cstdio Stdio.h

Dans la documentation de référence C pour , il affirme que tous les éléments de la bibliothèque résident dans l'espace de noms std . Cependant, les expériences montrent que les appels de fonctions std::printf et printf fonctionnent. Cela indique-t-il que les en-têtes C importent des noms de symboles dans les espaces de noms std et globaux ? l'espace de noms global. En revanche, l'inclusion de importe les noms de symboles dans l'espace de noms global, les incorporant potentiellement également dans l'espace de noms std.

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. espace de noms via les déclarations d'utilisation, ou vice versa.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3