我正在学习 Objective-C,我正在尝试编写一个 Vector3D 类。
在 C++ 或 Java 中,我想要实现的函数看起来像这样:
Vector3D
{
Vector3D crossProduct(Vector3D in)
{
Vector3D result;
result = ... // maths involving this classes variables and the input Vectors variables.
return result;
}
}
现在在objective-c中我不能返回一个对象,只能返回一个对象指针。这是否是使用自动释放的合适位置(在返回之前?)。这将使我能够链接 Vector3D 类上的方法(因为许多方法返回对象本身),但是与手动分配和释放对象相比,这会特别低效吗?在objective-c中是否有其他常用的模式用于返回对象?
我想对班级进行的操作示例:
Vector3D * vector3D1 = [[Vector3D alloc] init];
Vector3D * vector3D2 = [[Vector3D alloc] init];
Vector3D * vector3D3 = [vector3D1 cross [ [vector3D2 normalize ] multiply 1.43f]];
谢谢。