C++ 图:从一对顶点获取边的独立于实现的方法

C++ 图:从一对顶点获取边的独立于实现的方法,c++,boost-graph,C++,Boost Graph,我看了Boost图的概念,但它没有提供任何从顶点对中获取任何边的接口。 我试过: boost::graph_traits<G>::edge_descriptor edge(u, v); // does not work boost::graph_traits::edge_描述符edge(u,v);//不起作用 但它需要一个指向属性类型的附加指针。如何获得该值?boost::edge()的第三个参数是图形 还请注意,该函数不直接返回边描述符,而是根据边的存在返回一对包含边描述符和布

我看了Boost图的概念,但它没有提供任何从顶点对中获取任何边的接口。 我试过:

boost::graph_traits<G>::edge_descriptor edge(u, v); // does not work
boost::graph_traits::edge_描述符edge(u,v);//不起作用

但它需要一个指向属性类型的附加指针。如何获得该值?

boost::edge()的第三个参数是图形

还请注意,该函数不直接返回边描述符,而是根据边的存在返回一对包含边描述符和布尔值

大概是这样的:

G myGraph;   // construct the graph
....         // populate it
....         // select a pair of vertices u, v

// get the edge between the vertices, if it exists
typedef boost::graph_traits<G>::edge_descriptor edge_t;
edge_t found_edge;
std::pair < edge_t, bool > p = boost::edge( u, v, myGraph ); 
if( ! p.second) {
   // edge does not exist
   ...
} else {
   found_edge = p.first;
   ...
}
G myGraph;//构造图形
....         // 填充它
....         // 选择一对顶点u、v
//获取顶点之间的边(如果存在)
typedef boost::graph_traits::edge_描述符edge_t;
边未找到边;
std::pairp=boost::edge(u,v,myGraph);
如果(!秒){
//边缘不存在
...
}否则{
找到的_边=第一个;
...
}