c++如何使用变量存放一个const std::unique_ptr<Shape>的对象
时间: 2024-12-24 08:36:52 浏览: 4
在C++中,你可以使用`std::unique_ptr<Shape>`来存储常量引用`const`类型的对象。这是因为`unique_ptr`本身可以持有`const`对象,而不需要复制。下面是如何操作的一个例子:
```cpp
#include <memory>
class Shape; // 假设Shape是一个已经声明的类
// 创建一个常量unique_ptr来存储Shape对象
const std::unique_ptr<Shape>& storeConstUniquePtr = nullptr;
// 当你有一个const Shape对象时,可以这样做:
const Shape myConstShape; // 或者从别的地方得到一个const Shape对象
// 然后传递给storeConstUniquePtr
storeConstUniquePtr = std::make_unique<const Shape>(myConstShape); // 使用std::make_unique创建并初始化unique_ptr
// 注意,storeConstUniquePtr现在指向的是一个const Shape对象,不能修改其内容
```
阅读全文