我注意到一些C ++教科书使用printf
之类的C函数作为std::printf
(包括通过<cstdio>
而不是<stdio.h>
)。
但是,在我在Github中看到的大多数C ++代码中(包括由专业开发人员编写的代码),他们只使用<stdio.h>
和printf
。没有理智的程序员会将其功能命名为printf
或任何着名的C函数名称,因为其他读者可能会感到困惑。
除了必须输入更多字符外,使用std::printf
似乎没有什么好处。
答案 0 :(得分:0)
C ++中的命名空间允许您定义与C函数冲突的函数。包括cstdio
代替stdio.h
并使用std::printf
可以让您拥有一个名为rename
的函数,而不会与stdio
重命名。实际上,这就是命名空间的用途。