std :: unique_ptr结构成员为结构类型

P45迫在眉睫

struct A
{
    std::unique_ptr<A> a;
};

标准允许的?我不认为这是容器类型,如std::set,但有什么特别的unique_ptr

Angew不再为SO感到骄傲

是的,它被明确允许。C ++ 14(n4140)20.8.1 / 5:

...模板参数Tunique_ptr可能是一个不完整的类型。

它也允许std::shared_ptrstd::weak_ptr使用类似的措辞。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从std :: vector删除复制结构成员

如何使用std:unique_ptr擦除包含结构的向量?

如何在结构上使用std :: unique_ptr?

声明包含std :: unique_ptr的结构的std :: vector类时出错

如何将包含 std::unique_ptr 的 std::optional 结构传递给函数?

在std :: variant中访问公共结构成员

将std :: unique_ptr类成员标记为const

出现unique_ptr问题:不是“ std”的成员

通过unique_ptr访问结构成员会产生分段错误

为什么为不完整类型构造std :: unique_ptr?

std :: unique_ptr :: release()与std :: move()

std :: unique_ptr与std :: map

使用std :: map时,包含unique_ptr的结构中的默认析构函数会导致编译错误

铛,返回带有类型转换的std :: unique_ptr

类型不完整的std :: unique_ptr无法编译

C ++-vector <>中的std :: unique_ptr为nullptr

错误C2248:'std :: unique_ptr <_Ty> :: unique_ptr':无法访问在类'std :: unique_ptr <_Ty>'中声明的私有成员

构造类成员std :: vector <std :: unique_ptr <AClass>的智能方法

参数std :: unique_ptr <T> &&的std :: move或std :: forward

如何通过std :: unique_ptr成员调用其他类的const成员函数

std :: auto_ptr到std :: unique_ptr

'operator[]' 不匹配(操作数类型是 'std::unique_ptr<std::vector<int> >' 和 'int')

如何检查std :: unique_ptr是否为空(如果它位于std :: vector中)?

返回对std :: unique_ptr的引用的原因

is_assignable和std :: unique_ptr

std :: unique_ptr constexpr构造函数

通过unique_ptr访问std :: array

指向std :: unique_ptr的内容

在 Qt 上使用 std::unique_ptr