igraph 中的直接选择器
Immediate selectors in igraph
Igraph 包含顶点和边的选择器函数。我不清楚标准版和 "immediate" 版之间的区别或它们的用法。例如,标准顶点选择器 igraph_vs_vector appears to load a vector. The immediate version igraph_vss_vector 没有。我将不胜感激一些用法示例。我对设置一阶邻居或顶点的属性(例如,"friend of bob")特别感兴趣。先谢谢了。
标准选择器采用未初始化的 igraph_vs_t
对象的地址和 "initialize" 它们。您需要稍后使用 igraph_vs_destroy
销毁它们以避免内存泄漏。
直接选择器大多只是为了方便。它们 return 是它们自己的 igraph_vs_t
对象,但您应该立即将它们传递给另一个 igraph 函数(例如,igraph_degree
)并且不要让他们在身边。在 return 中,您不必使用 igraph_vs_destroy
.
销毁这些
因此,底线是:如果您需要将顶点选择器保留更长时间,请使用标准选择器并确保销毁它们。如果你只需要一个顶点选择器将它直接传递给另一个 igraph 函数,并且选择器有一个即时版本,你可以使用它,然后你不需要在之后销毁它。
Igraph 包含顶点和边的选择器函数。我不清楚标准版和 "immediate" 版之间的区别或它们的用法。例如,标准顶点选择器 igraph_vs_vector appears to load a vector. The immediate version igraph_vss_vector 没有。我将不胜感激一些用法示例。我对设置一阶邻居或顶点的属性(例如,"friend of bob")特别感兴趣。先谢谢了。
标准选择器采用未初始化的 igraph_vs_t
对象的地址和 "initialize" 它们。您需要稍后使用 igraph_vs_destroy
销毁它们以避免内存泄漏。
直接选择器大多只是为了方便。它们 return 是它们自己的 igraph_vs_t
对象,但您应该立即将它们传递给另一个 igraph 函数(例如,igraph_degree
)并且不要让他们在身边。在 return 中,您不必使用 igraph_vs_destroy
.
因此,底线是:如果您需要将顶点选择器保留更长时间,请使用标准选择器并确保销毁它们。如果你只需要一个顶点选择器将它直接传递给另一个 igraph 函数,并且选择器有一个即时版本,你可以使用它,然后你不需要在之后销毁它。