Objective-C与C++成员初始化

Objective-C with C++ Member Initialization

本文关键字:初始化 成员 C++ Objective-C      更新时间:2023-10-16

我在Objective-C类中声明了一个C++对象。

C++对象只有一个接受多个参数的构造函数。

在C++代码中,我会将参数解析为包含它的类的初始值设定项列表中的构造函数

如何在Objective-C中执行相同操作?

当我编译时,我收到一个错误,告诉我我的C++对象没有合适的默认构造函数,正如你所期望的那样。

我认为在Objective-C中不能做这样的事情,因为那里没有构造函数和初始值设定项列表。但是,您可以使用std::shared_ptr或其他智能指针来存储指向类的指针,并在init方法

中创建对象本身

您可以将对象更改为此对象类型的(智能)指针。然后,您可以将对象的构造延迟到您认为合适的时刻。