Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ boost图形库示例Kevin Bacon的六度:示例中的Vertex()是什么_C++_Boost - Fatal编程技术网

C++ boost图形库示例Kevin Bacon的六度:示例中的Vertex()是什么

C++ boost图形库示例Kevin Bacon的六度:示例中的Vertex()是什么,c++,boost,C++,Boost,我试图学习Boost图形库,遇到了一个名为“Kevin Bacon的六度”的示例。这是网址 在这个例子中,我看到: ... boost::tie(pos, inserted) = actors.insert(std::make_pair(actors_name, Vertex())); ... Vertex()指的是什么 我看到一个名为Vertex的别名在Vertex()上方几行,如下所示,但我不明白Vertex()的用途: typedef graph_traits<Graph>:

我试图学习Boost图形库,遇到了一个名为“Kevin Bacon的六度”的示例。这是网址

在这个例子中,我看到:

...
boost::tie(pos, inserted) = actors.insert(std::make_pair(actors_name, Vertex()));
...
Vertex()
指的是什么

我看到一个名为
Vertex
的别名在
Vertex()
上方几行,如下所示,但我不明白
Vertex()
的用途:

typedef graph_traits<Graph>::vertex_descriptor Vertex;
typedef图形特征::顶点描述符顶点;
有人能帮我理解这个吗?我是个新手,感觉自己已经迷路了
这些文档很难通读和理解

谢谢。

用于记录演员与其他演员的联系。如果他们出现在同一部电影中,他们就有直接的联系

示例中使用的顶点如下所述:

这一行:

boost::tie(pos, inserted) = actors.insert(std::make_pair(actors_name, Vertex()));
尝试插入带有参与者名称和默认构造(空)
顶点的
。如果失败(
inserted==false
),那是因为参与者已经存在,并且
pos
将指向现有的
,其中
顶点
至少已经有一个连接。如果成功,
pos
将指向新插入的
,并带有一个空的
顶点

后面的
add_edge
步骤连接了两个参与者。处理完文件后,您将看到文件中所有参与者如何连接(通过边缘)的图形。

用于记录参与者与其他参与者的连接。如果他们出现在同一部电影中,他们就有直接的联系

示例中使用的顶点如下所述:

这一行:

boost::tie(pos, inserted) = actors.insert(std::make_pair(actors_name, Vertex()));
尝试插入带有参与者名称和默认构造(空)
顶点的
。如果失败(
inserted==false
),那是因为参与者已经存在,并且
pos
将指向现有的
,其中
顶点
至少已经有一个连接。如果成功,
pos
将指向新插入的
,并带有一个空的
顶点


后面的
add_edge
步骤连接了两个参与者。处理完文件后,您将得到一个文件中所有参与者如何连接(通过边)的图形。

您可以在图形中插入两个对象:顶点和边。因此,演员是一个顶点,而边缘是与他们一起主演的人。因此,本例将把所有的参和者作为顶点插入,把它们之间的所有连接作为边插入。因此,演员是一个顶点,而边缘是与他们一起主演的人。所以这个例子将插入所有的演员作为顶点,他们之间的所有连接作为边。嗨,泰德,非常感谢。顶点和边对我来说很清楚。我的问题是为什么我们需要这行中的Vertex()函数?boost::tie(pos,inserted)=actors.insert(std::make_pair(actors_name,Vertex())@user3512999哦,那不是一个函数。默认情况下,它构造一个放置在
对中的
顶点
。如果参与者不在图中,它将从一个没有边的顶点开始。谢谢Ted。我现在明白了。@user3512999。。。如果回答了你的问题,请考虑回答:-嗨,Ted,非常感谢你。顶点和边对我来说很清楚。我的问题是为什么我们需要这行中的Vertex()函数?boost::tie(pos,inserted)=actors.insert(std::make_pair(actors_name,Vertex())@user3512999哦,那不是一个函数。默认情况下,它构造一个放置在
对中的
顶点
。如果参与者不在图中,它将从一个没有边的顶点开始。谢谢Ted。我现在明白了。@user3512999。。。如果回答了你的问题,请考虑答案: