use*_*004 4 pass-by-reference julia
如果Julia函数返回一个数组,是返回引用还是复制?
function pass(A::Matrix)
return A
end
Run Code Online (Sandbox Code Playgroud)
一个真实的例子是reshape:
reshape(A, dims)使用与给定数组相同的数据创建一个数组,但具有不同的维度.特定类型的阵列的实现可以选择是复制还是共享数据.
实现如何确定是复制还是共享数据?
pass上面的函数通过引用返回,http://julia.readthedocs.org/en/latest/manual/arrays/.
这个reshape例子还有一点.对于完整数组,重新整形的数组是一个共享相同数据的新数组对象.但请记住,有很多专门的数组类型.文档警告你不要依赖它,因为例如对于不可变固定大小数组的未来实现,可以使用不同的重塑机制.
| 归档时间: |
|
| 查看次数: |
776 次 |
| 最近记录: |