CGRectMake替代方案

Bar*_*vel 6 c struct objective-c cgrect cgrectmake

我已经看到了使用这个替代方法CGRectMake()来初始化CGRect变量:

CGRect frame =(CGRect){0,0,10,10};

我的问题是,CGRect frame = (CGRect){0,0,10,10};工作怎么样?幕后发生了什么?它看起来像一个c风格的数组正在初始化({x,y,w,h})然后被转换为CGRect结构 - 这是正确的吗?如果是这样,如何将ac样式数组转换为结构?

NB我不是在问上面的替代方案是否合适CGRectMake(),我只是想了解它为什么/如何工作.

omz*_*omz 7

这是一个所谓的复合文字.您可以在本文中通过Mike Ash阅读更多关于它们的内容:周五问答2011-02-18:复合文字.