Fortran, лучшее использование DIMENSION при инициализации массива с атрибутом PARAMETER - PullRequest
3 голосов
/ 02 марта 2020

В Фортране эти два метода для инициализации массива параметров идентичны? Если нет, то что означает dimension(*)?

integer, parameter, dimension(2) :: x = [1,2]

против

integer, parameter, dimension(*) :: x = [1,2]

1 Ответ

5 голосов
/ 02 марта 2020

Эффект обоих объявлений одинаков: именованный константный массив ранга 1 формы [2] с очевидными значениями.

Использование dimension(*) делает массив подразумеваемой формой вместо явной формы: именованная константа имеет форму, подразумеваемую константным выражением.

Что лучше? Что ж, подразумеваемая форма поддерживается не всеми компиляторами (это функция Fortran 2008), но это избавляет от беспокойства по поводу написания формы дважды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...