【发布时间】:2021-06-06 18:53:21
【问题描述】:
我正在尝试从另一个类的构造函数创建一个没有默认构造函数的类实例,但没有将它们作为类初始值设定项传递。这是我正在尝试做的示例代码:
class Device {
public:
Device(const PhysicalDevice& device) { ... }
};
class Renderer {
public:
Renderer() {
auto physicalDevice = getPhysicalDevice();
device = Device(physicalDevice); // <-- this causes me a problem
}
PhysicalDevice getPhysicalDevice();
Device device;
};
因为我创建了一个Device对象并赋值给成员变量device,所以我将临时对象复制到成员变量中,也就是说临时对象需要销毁。
有没有办法摆脱临时对象,直接初始化设备?
【问题讨论】:
标签: c++