0

来自函数的升压图手册remove_vertex

假设在删除顶点 u 时没有边。确保这一点的一种方法是事先调用 clear_vertex() 。

如果你调用remove_vertex()一个连接到其他顶点的顶点会发生什么?它会导致未定义的行为吗?

从手册中的引用来看,似乎会发生一些不好的事情。如果是这样,为什么以这种方式调用它时不会抛出异常?

4

1 回答 1

0

除了一些算法和实用程序之外,Boost Graph Library 通常不会抛出异常,尤其是在访问或修改图的结构时。我想这个决定是由于性能原因而做出的。

我会将这个 API 模型与 STL 进行比较。在 STL 中,违反先决条件会导致未定义的行为,而不是引发异常。

于 2013-11-26T08:05:01.397 回答