如何将代码转换为Obj-C?

时间:2011-03-01 19:47:05

标签: iphone c++ objective-c

如何将其转换为Objective-C?主要是:float *newH= new float[newD];

我在obj-c ??

中用什么代替new
int newD = 100;

float *newH = new float[newD];

for(int i=0; i<newD; i++){
    newH[i] = 0.0f;
}

3 个答案:

答案 0 :(得分:6)

Objective-C是C的真正超集。在C中,使用malloc来分配内存。

所以,

float *newH = malloc( newD * sizeof( float) );

当然,根据你的确在做什么,你可能还想调查NSArray和NSNumber。

请注意,Objective-C ++也可用,您可以继续使用'new'来分配内存。

答案 1 :(得分:1)

如果您有很多要移植的C ++代码,那么最好在Objective-C ++中编写应用程序。然后你可以按原样使用你的C ++代码。

答案 2 :(得分:0)

我同意Objective C ++是要走的路。但是,如果你绝对想要保持目标C(不是直接C)的精神,可以选择以下选项:

  • 使用NSNrray的NSNumber对象。这很慢 - 适用float拳击惩罚。
  • 使用NSData作为分配机制,将[bytes]强制转换为float *。这很难看,就像指针类型一样。