Я столкнулся с примером для C-функции, объявленной как:
static inline CGPoint SOCGPointAdd(const CGPoint a, const CGPoint b) {
return CGPointMake(a.x + b.x, a.y + b.y);
}
До сих пор я объявлял служебные C-функции в файлах .h и реализовал их в .m файлах, как это:
CGPoint SOCGPointAdd(const CGPoint a, const CGPoint b) {
return CGPointMake(a.x + b.x, a.y + b.y);
}
Я могу использовать эту функцию "inline" где угодно, и она также должна быть "статической", потому что она не связана ни с каким объектом, как с методом Objective-c. В чем смысл/преимущество указания "статического" и "встроенного"?