Considérez ce qui suit:Sur quel type de mémoire une struct C est attribuée lorsque initialisé comme une variable de classe en Objective-C
typedef struct
{
float m00, m01, m02, m03;
float m10, m11, m12, m13;
float m20, m21, m22, m23;
float m30, m31, m32, m33;
} Matrix;
@interface TestClass : NSObject
{
Matrix matrix;
}
- (TestClass *) init;
@end
@implementation TestClass
- (TestClass *) init
{
self = [super init];
matrix = (Matrix) {1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f};
return self;
}
@end
Comment faire en sorte que les 64 octets alloués à la struct sont correctement libérés chaque fois que la variable "matrix" n'est plus pertinente (ou chaque fois que l'objet entier est libéré)?
Vous pouvez reformuler le titre de votre question. – lillq
Le titre est parfaitement logique pour moi ... –
Vous devriez dire "instance variable" au lieu de "class variable" en fait. – Blaisorblade