Мне нужна глубокая копия (реального массива )на Фортране (90 ), но я точно не знаю, как ее получить, так как не совсем понимаю, как работают ссылки. Интуитивно я ожидал, что это даст мне то, что я хочу :
do i=1,n
b(i) = a(i)
end do
. Однако недавно мне было указано, что b(1:n) = a(1:n)
эквивалентен приведенному выше коду. Интуитивно я ожидаю, что b(1:n) = a(1:n)
просто заставляет ссылку b(1:n)
указывать на расположение a(1:n)
в памяти.
Является ли b(1:n) = a(1:n)
глубокой копией? Почему? Что происходит с базовыми ссылками в отличие от b = a
?