如果数组中的元素类型是不可复制的类型,可以使用std::unique_ptr来初始化数组。以下是一个示例代码:
#include
#include
class NonCopyable {
public:
NonCopyable() {}
NonCopyable(const NonCopyable&) = delete;
NonCopyable& operator=(const NonCopyable&) = delete;
};
int main() {
std::unique_ptr arr(new NonCopyable[5]);
return 0;
}
在上面的示例中,我们定义了一个名为NonCopyable的类,并将其复制构造函数和赋值运算符重载函数声明为删除函数,使其不可复制。然后,我们使用std::unique_ptr来创建一个指向NonCopyable类型的数组,并通过new关键字分配内存空间。这样,我们就可以成功初始化一个不可复制类型的数组。
上一篇:不可复制的基类的聚合初始化
下一篇:不可更改变量v.常量变量