c++ - 为什么库标题中的所有内容都以下划线开头?

标签 c++ c naming-conventions

我不想引起讨论或任何事情;我只是好奇是否有任何特定原因导致在 C/C++ 库头文件的名称开头如此常见的下划线。 (例如 _x、_y、__f() 等)

最佳答案

C 和 C++ 都为实现保留了这样的名称,以避免与非实现代码发生冲突。

这保证了在兼容程序中为其内部符号实现一个​​“安全”空间,不会被冲突的第三方代码破坏。

因此,实现使用它是有意义的。


<子> [C99: 7.1.3] , [C++11: 17.6.4.3.2/1] , "What are the rules about using an underscore in a C++ identifier? "

关于c++ - 为什么库标题中的所有内容都以下划线开头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20380373/

相关文章:

c++ - std::cin.getline() 与 std::cin

c - 检测操作系统版本并相应地选择线程函数

c# - 如何给字典起名字?

gcc - 谁能解释一下 gcc 交叉编译器的命名约定?

c#:在哪里放置我的 API 以及什么应该放入 MyCOmpanyName.MyProduct.Core(核心)命名空间?

c++ - 删除指针数组的正确方法

android - well_known_types_embed.cc -/bin/sh : js_embed: command not found

c++ - 虚拟多重继承

c - 如何从文本文件中读取字符串并将其存储在数组中

c - 从文件中读取字符串,将它们转换为整数,然后将它们放入 C 中的数组中