【问题标题】:Returning a Null Edge Descriptor in an adjacency list [C++ BGL]在邻接列表中返回空边描述符 [C++ BGL]
【发布时间】:2021-12-26 13:15:05
【问题描述】:

在就如何find an edge in an undirected graph 征求意见后,我希望调整他的函数以在找不到时返回空边。我知道 boost 有一个空顶点 (graph_traits<G>::null_vertex()),但我在任何文档中都没有找到一个用于边缘的顶点。有人有解决上述问题的方法吗?

【问题讨论】:

    标签: c++ boost boost-graph


    【解决方案1】:

    没有空边。根据您的图形模型,您可以设想一个,但这意味着您必须

    • 使用实现细节(具体来说,nullptr 可能很合适,但永远不能安全地用于任何 BGL 函数)
    • 制作您自己的图形概念模型,以便控制实施细节

    在实践中,我会使用表达意图的词汇类型。例如。如果你有一个搜索函数返回一条边,除非找不到,我会返回:

    std::optional<edge_descriptor> my_search();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-18
      • 2023-04-07
      • 2012-11-06
      • 1970-01-01
      • 2019-10-11
      • 2014-07-02
      相关资源
      最近更新 更多