- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在无数 C/C++ 头文件和源文件中看到过这种情况。
除了个人喜好之外,这些不同符号中的每一个的含义是什么?
_NAME
__NAME
_NAME_
__NAME__
NAME_t
老实说,我唯一理解的是 _NAME
,它是一个类的私有(private)成员(至少在 C# 中是这样)。
有人能解释一下它们之间的区别吗?
如果有任何其他值得注意的符号,请提及它们(即使是其他类似的语言)。
谢谢!
最佳答案
以 _
或 __
开头的名称通常用于保留标识符,您不应定义/创建以该约定开头的标识符。 (_ 后面跟着大写字母)
来自 C99 标准,7.1.3 - “保留标识符”
— All identifiers that begin with an underscore and either an uppercase letter or another underscore are always reserved for any use.
— All identifiers that begin with an underscore are always reserved for use as identifiers with file scope in both the ordinary and tag name spaces.
来自 C++03 标准(对 C++98 的修正),第 17.4.3.1.2 节 - “全局名称”
— Each name that contains a double underscore (_ _) or begins with an underscore followed by an upper- case letter (2.11) is reserved to the implementation for any use.
— Each name that begins with an underscore is reserved to the implementation for use as a name in the global namespace
关于c# - _NAME、__NAME、_NAME_、__NAME__ 等符号的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4270316/
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 6年前关闭。 Imp
我正在尝试字符串格式化-长字符串“替换字段名称”。但我收到“属性错误”。 我已经搜索了该错误,但没有类似的答案。 import math tmpl="This {mod._name_} module
我在无数 C/C++ 头文件和源文件中看到过这种情况。 除了个人喜好之外,这些不同符号中的每一个的含义是什么? _NAME __NAME _NAME_ __NAME__ NAME_t 老实说,我唯一理
我是一名优秀的程序员,十分优秀!