当在R中的函数中使用时,igraph对象是​​通过引用传递还是通过值传递?

时间:2014-08-07 00:05:52

标签: r igraph

我要编写一个函数,需要读取由R中igraph包创建的图形的相邻矩阵。由于该函数将运行数百万次,我真的想知道该图是否在使用时作为函数中的参数,是通过引用还是值传递?该函数不会更改图表本身。它只是读取相邻的矩阵。因此,图表不会有任何分配。

1 个答案:

答案 0 :(得分:0)

将通过引用复制。如果修改它们,R只会复制函数参数。如果您的功能不修改图表,则不会被复制。

虽然你没有问这个,但我也会说,当你调用用C实现的igraph函数时(像大多数igraph函数一样),图形仍然不会被复制。这并非简单,因为igraph是一个C库,所以它适用于C数据结构。但是igraph是经过精心编写的,用于使用R对象中的数据,因此不会复制图形。

(顺便说一句。我不确定你对邻接矩阵的意思.Igraph图不是邻接矩阵。)