R按值传递或按引用传递[重复]

Posted

技术标签:

【中文标题】R按值传递或按引用传递[重复]【英文标题】:R pass-by-value or pass-by-reference [duplicate] 【发布时间】:2019-05-07 15:54:28 【问题描述】:

如果我在 R 中创建一个函数,例如:

f<-function(x)
x
.....


当执行函数R时使用传值或传引用

【问题讨论】:

campus.datacamp.com/courses/intermediate-r/… 两者都不是。它是“修改时复制”,即如果需要,它会生成一个新值。 ***.com/questions/15759117/… 【参考方案1】:
In R it is call by value. To prove this i tried with a small function as below;

f1 <- function(a,b)

  print(a)

  #print b value before call
  print(b)

  fi(b)
  #print b value after call
  print(b)



fi <- function(i)
   i = i + 20


f1(10,20)

output :
----------
[1] 10
[1] 20
[1] 20

【讨论】:

以上是关于R按值传递或按引用传递[重复]的主要内容,如果未能解决你的问题,请参考以下文章

我应该在哪里更喜欢按引用传递或按值传递?

按引用传递或按值传递指针容器之间的区别

按值传递或按引用传递

第7章 按值传递或按引用传递:7.5 处理返回值

第7章 按值传递或按引用传递:7.6 推荐的模板参数声明方法

第7章 按值传递或按引用传递:7.3 使用std::ref()和std::cref()