Objective-C中的自动变量 有没有一种方法在Objtovi-C中创建一个具有构造函数/析构函数(堆栈)的范围变量/对象,或者我需要为此添加C++吗?< /P> < P>你不需要在任何地方添加C/C++,因为ObjultC++强> < C>强>或 C++< /St>>

Objective-C中的自动变量 有没有一种方法在Objtovi-C中创建一个具有构造函数/析构函数(堆栈)的范围变量/对象,或者我需要为此添加C++吗?< /P> < P>你不需要在任何地方添加C/C++,因为ObjultC++强> < C>强>或 C++< /St>>,objective-c,Objective C,您可以在任何需要的消息(函数)中使用作用域变量: -(void) myMessage { // default constructor will be called MyCPPClass myCPPClassInstance; // scoped variable of type MyCPPClass class myCPPClassInstance.Method(); // using MyCPPClassInstance return; // des

您可以在任何需要的消息(函数)中使用作用域变量:

-(void) myMessage
{
    // default constructor will be called
    MyCPPClass myCPPClassInstance;  // scoped variable of type MyCPPClass class
    myCPPClassInstance.Method(); // using MyCPPClassInstance
    return;
    // destructor will be called after returning
}

请注意,为了在Objective-C中使用C++,您必须使用以.mm结尾的文件名。如果您只需要C,那么您可以像在任何其他C函数中一样使用变量。

您不需要在任何地方添加C/C++,因为Objective-C已经是CC++

您可以在任何需要的消息(函数)中使用作用域变量:

-(void) myMessage
{
    // default constructor will be called
    MyCPPClass myCPPClassInstance;  // scoped variable of type MyCPPClass class
    myCPPClassInstance.Method(); // using MyCPPClassInstance
    return;
    // destructor will be called after returning
}
请注意,为了在Objective-C中使用C++,您必须使用以.mm结尾的文件名。如果您只需要C,那么您可以像在任何其他C函数中一样使用变量

有没有办法在Objective-C中使用构造函数/析构函数(在堆栈上)创建作用域变量/对象

没有

您可以在堆栈上创建作用域C变量(显然!),但不能创建Objective-C类。Objective-C中不存在构造函数/析构函数的概念

还是我需要为这个添加C++?< /P> 对

<>但是它只适用于C++对象。我想您可以创建一个C++类来包装ObjtoE-C对象,该对象在构造函数中分配ObjtoE-C对象,并在析构函数中释放(注释<强>不<强> DeLoCs)。然而,如果你这样做,你可能会自动释放,只要你分配

有没有办法在Objective-C中使用构造函数/析构函数(在堆栈上)创建作用域变量/对象

没有

您可以在堆栈上创建作用域C变量(显然!),但不能创建Objective-C类。Objective-C中不存在构造函数/析构函数的概念

还是我需要为这个添加C++?< /P> 对


<>但是它只适用于C++对象。我想您可以创建一个C++类来包装ObjtoE-C对象,该对象在构造函数中分配ObjtoE-C对象,并在析构函数中释放(注释<强>不<强> DeLoCs)。但是,如果你这样做,你可能会自动地尽快地自动执行。

我现在试图避免这个(c++/mm),但是如果这是唯一的选择,那么我会这样做,那是你唯一的选择,使用C++和ObjuleC++。不确定你在这里做什么。想要一个用于记录条目和方法MeXi的范围的结构,现在试图避免这个(c++/mm),但是如果这是唯一的选择,那么我会这样做,那是你必须使用C++和Objul-C++的唯一选择。不确定您在这里要做什么。想要一个作用域结构来记录方法的入口和出口吗