Глубокое копирование массива на Фортране

Мне нужна глубокая копия (реального массива )на Фортране (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?

7
задан astay13 3 August 2012 в 16:40
поделиться