我认为视图函数的工作方式类似于 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 ×1