【发布时间】:2010-09-25 19:23:38
【问题描述】:
我正在学习 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]];
谢谢。
【问题讨论】:
标签: c++ objective-c autorelease