


Should C functions and headers be used from the `std::` namespace or the global namespace in C ?
Using C Headers in C : Namespaces or Global Scope?
In C , one can access C functions and headers by modifying the header file names (e.g., stdio.h to cstdio, stdlib.h to cstdlib). However, it raises the question of whether to use functions from the std:: namespace or the global namespace for these headers in C code.
Namespace vs. Global Scope in C
According to the C 11 Standard, every C header with a ".h" extension behaves as if its names are placed within both the global namespace and the namespace std. It remains unspecified whether these names are first declared in the std:: namespace and injected into the global namespace or vice versa.
Preferred Approach
To ensure compatibility with future C revisions and remove potential ambiguities, it is recommended to use the "cname" headers and declare and define functions within the std:: namespace. Using the old ".h" headers is deprecated and has been identified for removal in upcoming revisions.
Example Code
Prefer the following code snippet:
#include <cstdio> int main() { std::printf("Hello world\n"); }
over:
#include <stdio.h> int main() { printf("Hello world\n"); }
Conclusion
While it's possible to use both std:: and the global namespace for C functions and headers in C , the preferred approach is to include the "cname" headers and use the declarations and definitions from the std:: namespace for consistency with future C revisions and to avoid potential issues.
The above is the detailed content of Should C functions and headers be used from the `std::` namespace or the global namespace in C ?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

What are the types of values returned by c language functions? What determines the return value?

C language function format letter case conversion steps

What are the definitions and calling rules of c language functions and what are the

Where is the return value of the c language function stored in memory?

How does the C Standard Template Library (STL) work?

How do I use algorithms from the STL (sort, find, transform, etc.) efficiently?
