小编n2k*_*n2k的帖子

C++ 11中图形表示(顶点邻居)的智能指针

我想知道如何正确使用C++ 11智能指针进行图形表示.

假设您有一个图形结构,其中包含所有顶点的向量.此外,您有一个顶点的结构/类.该顶点包含其所有邻居(邻接列表)的向量.

我的问题是:我应该使用哪种类型的指针/智能指针来表示这个图形?

对于二进制树,我读到,对于父节点,您应该使用原始指针.因为节点不拥有其父节点.二叉树的子节点可以由std :: unique_ptr表示,因为该节点具有子节点的所有权.

但是在图中,多个节点可能具有共同的邻居.那么,我应该使用std :: shared_ptr吗?或者我应该使用原始指针吗?

graph shared-ptr adjacency-list unique-ptr c++11

1
推荐指数
1
解决办法
1452
查看次数

标签 统计

adjacency-list ×1

c++11 ×1

graph ×1

shared-ptr ×1

unique-ptr ×1