我正在学习核心图形,尤其是有关CGContextRef的知识。我的问题是关于不透明数据类型的语法和实现细节(如果可以理解的话)。我知道诸如CGContextRef之类的不透明类型是对内存中某些基础结构的引用(指针?),并且它是不透明的,因为该结构的详细信息对开发人员是隐藏的。
因此,如果我有一个这样声明的变量:CGContextRef context = UIGraphicsGetCurrentContext();
为什么上下文在其之前不需要“ *”表示这是引用类型/指针?这种句法奇异性的语义含义是什么?
最佳答案
在符号CGContextRef
上单击命令并单击以跳转至CGContext.h
中的定义,您将看到原因:
typedef struct CGContext *CGContextRef;
您不必在
*
变量之前放置context
,因为*
是CGContextRef
类型定义的一部分。关于ios - 核心图形不透明类型,它们是什么以及如何?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33419615/