typedef const struct __CFString * a1;在上面的typedef声明中,a1被定义为指向__CFString常量结构的指针。
这里"__“是什么意思?
然后,我创建一个新的定义为a2,如下所述。
typedef const struct CFString * a2;那么,a1和a2有什么不同呢?
发布于 2013-11-17 07:42:23
首先,__CFString中的下划线是名称的一部分,所以struct __CFString和struct CFString是不同的类型,就像struct XXCFString和struct CFString是不同的类型一样。
第二,为实现保留以双下划线开头的任何名称。换句话说,不能使用以双下划线开头的名称而不冒名称冲突的风险。
下面是另一个更详细的答案:What are the rules for using an underscore in a C++ identifier?
https://stackoverflow.com/questions/20028327
复制相似问题