【发布时间】:2011-09-30 14:17:44
【问题描述】:
如何在 Objective-C 类中创建常量 C 数组成员?生命周期应该限于类生命周期,我不想使用 malloc。
目前我正在这样做:
@interface Bla
{
int myArray[3];
}
@implementation Bla
{
-(id)init
{
myArray[1] = 5;
myArray[2] = 6;
myArray[3] = 7;
return self;
}
}
但我希望它保持不变并直接初始化它,例如:
@interface Bla
{
const int myArray[3];
}
@implementation Bla
{
-(id)init
{
myArray[] = { 5, 6, 7 };
return self;
}
}
【问题讨论】:
-
顺便说一句,C 数组是从零开始的,而不是从一开始的。所以你的代码应该是: myArray[0] = 5;我的数组[1] = 6;我的数组[2] = 7;
-
你为什么不想使用 malloc?
-
因为那时我必须分配两次内存。一个带有 malloc 和一个额外的临时数组来提供动态分配的内存。如果我错了,请纠正我。
-
在这个例子中 myArray 的生命周期是多久? @implementation Bla { const float myArray[] = { 5, 6, 7 }; }
-
当你的对象还活着时。
标签: objective-c c arrays initialization constants