我们应该在std命名空间中使用C函数吗?

时间:2016-09-22 23:59:06

标签: c++ c

我注意到一些C ++教科书使用printf之类的C函数作为std::printf(包括通过<cstdio>而不是<stdio.h>)。

但是,在我在Github中看到的大多数C ++代码中(包括由专业开发人员编写的代码),他们只使用<stdio.h>printf。没有理智的程序员会将其功能命名为printf或任何着名的C函数名称,因为其他读者可能会感到困惑。

除了必须输入更多字符外,使用std::printf似乎没有什么好处。

1 个答案:

答案 0 :(得分:0)

C ++中的命名空间允许您定义与C函数冲突的函数。包括cstdio代替stdio.h并使用std::printf可以让您拥有一个名为rename的函数,而不会与stdio重命名。实际上,这就是命名空间的用途。