来自功能remove_vertex
假设在移除顶点u时没有边缘。确保这一点的一种方法是事先调用clear_vertex()。
如果您在连接到其他顶点的顶点上调用remove_vertex()
会发生什么?是否会导致未定义的行为?
从手册中的引用来看,似乎会出现 bad 。如果是这样,为什么在以这种方式调用时不会抛出异常?
答案 0 :(得分:0)
除了一些算法和实用程序之外,Boost Graph Library通常不会抛出异常,尤其是在访问或修改图形结构时。我猜这个决定是出于性能原因。
我将此API模型与STL进行比较。在STL中,违反前提条件会导致未定义的行为,而不是抛出异常。