小编Bel*_*len的帖子

julia 的视图函数的幕后发生了什么?a[3, :] = view(a, 1, :) vs a[3, :] = a[1, :]

我认为视图函数的工作方式类似于 C++ 中的引用,基本上两个变量都指向同一块内存。

为什么这样做:

julia> a = [1 2 3; 4 5 6; 7 8 9]
3×3 Array{Int64,2}:
 1  2  3
 4  5  6
 7  8  9


julia> b = view(a, 1, :)
3-element view(::Array{Int64,2}, 1, :) with eltype Int64:
 1
 2
 3

julia> b[1] = 100
100

julia> a
3×3 Array{Int64,2}:
 100  2  3
   4  5  6
   7  8  9

julia> a[1, 3] = 200
200

julia> b
3-element view(::Array{Int64,2}, 1, :) with eltype Int64:
 100
   2
 200
Run Code Online (Sandbox Code Playgroud)

基本上你改变一个,另一个也改变,反之亦然。但这并没有相同的效果: …

julia

7
推荐指数
1
解决办法
66
查看次数

标签 统计

julia ×1