Arithmetic on two CGPoints with + or - operators

ndomin picture ndomin · Aug 3, 2013 · Viewed 9k times · Source

In Objective-C I'm starting to work with CGPoints and when I need to add two of them the way I'm doing it is this:

CGPoint p1 = CGPointMake(3, 3);
CGPoint p2 = CGPointMake(8, 8);
CGPoint p3 = CGPointMake(p2.x-p1.x, p2.y-p1.y);

I would like to be able to just do:

CGPoint p3 = p2 - p1;

Is that possible?

Answer

user529758 picture user529758 · Aug 3, 2013

And here's the "something" that @ipmcc suggested: C++ operator overloading. Warning: do not do this at home.

CGPoint operator+(const CGPoint &p1, const CGPoint &p2)
{
    CGPoint sum = { p1.x + p2.x, p1.y + p2.y };
    return sum;
}