我希望实现一个类似于Apple使用CGRectMake()及其所有其他~Type~Make()函数的模式。CGRectMake的代码是什么。。。我知道它做什么,但更具体地说,我想知道它做什么(在堆栈、堆等方面)?
只是:

inline function CGRectMake(CGFloat x,  CGFloat y, CGFloat width, CGFloat height) {
    CGRect rect;
    rect.x = x;
    rect.y = y;
    rect.width = width;
    rect.height = height;
    return rect;
}

或者还有更多的东西要学吗?
编辑
他们不让它成为构造器有什么原因吗?

最佳答案

如果您命令单击Xcode,就会显示它的实现。你差点就吃到了;-)

CG_INLINE CGRect
CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height)
{
  CGRect rect;
  rect.origin.x = x; rect.origin.y = y;
  rect.size.width = width; rect.size.height = height;
  return rect;
}

关于c++ - CGRectMake(或其他Make函数)到底是做什么的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12838528/

10-13 06:28