type_f CFString以__开头

时间:2013-11-17 07:27:48

标签: objective-c typedef cfstring

typedef const struct __CFString * a1;

在上面的typedef声明中,a1被定义为指向常量结构__CFString的指针。

这里的“__”是什么意思?

然后我创建一个新的定义为a2,如下所述。

typedef const struct CFString * a2;

那么,a1与a2有什么不同?

1 个答案:

答案 0 :(得分:1)

首先,__CFString中的下划线是名称的一部分,因此struct __CFStringstruct CFString是不同的类型,就像struct XXCFStringstruct CFString一样是不同的类型。

其次,任何以双下划线开头的名称都保留用于实现。换句话说,您不能使用以双下划线开头的名称,而不会冒名称冲突的风险。

以下是另一个更详细的答案:What are the rules for using an underscore in a C++ identifier?