【发布时间】:2017-08-04 12:45:46
【问题描述】:
我正在 Julia 中做这样的事情:
function(params)
vector = Float64[]
.
.
push!(vector, something)
.
.
return vector
end
这样做是否安全,或者分配的内存会被释放吗? 我的程序有效,是意外吗?
将向量作为参数传递给函数是否更安全
function(params, vector)
.
.
end
谢谢
【问题讨论】:
-
两种方式都应该有效。如果您确实将向量作为输入传递给函数,然后就地修改它,则惯例是在函数名称后附加感叹号。例如,
normalize返回输入向量的标准化副本,而normalize!就地更新输入向量。 -
是的,它是安全的。所有 Julia 数组都分配在堆上。
标签: arrays function scope return julia