Интересно, есть ли способ иметь глобальную переменную в Fortran, которая может быть заявлена как некоторая «защищенная». Я думаю о модуле A, который содержит список переменных. Каждый другой модуль или подпрограмма, использующая A, может использовать переменные. Если вы знаете, что такое значение переменной, вы можете использовать параметр для достижения того, что его нельзя перезаписать. Но что, если вам нужно сначала запустить код, чтобы определить значение переменных? Вы не можете указать его как параметр, так как вам нужно его изменить. Есть ли способ сделать что-то подобное, но в определенный момент во время выполнения?Защищенные глобальные переменные в Fortran
4
A
ответ
12
В модуле можно использовать атрибут PROTECTED
. Он был введен с использованием стандарта Fortran 2003. Процедуры в модуле могут изменять объекты PROTECTED, но не процедуры в модулях или программах, которые используют ваш модуль.
Пример:
module m_test
integer, protected :: a
contains
subroutine init(val)
integer val
a = val
end subroutine
end module m_test
program test
use m_test
call init(5)
print *, a
! if you uncomment these lines, the compiler should flag an error
!a = 10
!print *, a
call init(10)
print *, a
end program
Смежные вопросы
- 1. Глобальные глобальные переменные Django
- 2. Глобальные переменные?
- 3. Глобальные переменные
- 4. Защищенные статические переменные-члены
- 5. частные или защищенные переменные?
- 6. PHP защищенные почтовые переменные
- 7. AS3 переменные защищенные функции
- 8. Глобальные переменные в MATLAB
- 9. Глобальные переменные в C++
- 10. Глобальные переменные в Windows.Forms
- 11. Глобальные переменные в JQuery
- 12. Глобальные переменные в R
- 13. Глобальные переменные в C
- 14. Глобальные переменные в ColdFusion
- 15. глобальные переменные в C++
- 16. Глобальные переменные в interpire
- 17. глобальные переменные в requireJS
- 18. Глобальные переменные в Ember
- 19. Глобальные переменные в C#
- 20. Глобальные переменные в Java
- 21. глобальные переменные в AS3
- 22. Глобальные переменные в Ocaml
- 23. глобальные переменные в C++
- 24. Глобальные переменные в Scala
- 25. Глобальные переменные в phpunit_Selenium2
- 26. Глобальные переменные в Android
- 27. Глобальные переменные в hadoop
- 28. Глобальные переменные в Метеоре
- 29. Глобальные переменные в java
- 30. Глобальные переменные в Flink