Java Oracle PreparedStatement ARRAY параметр, передающий пустые строки

Форма

real, dimension(:) :: arr

объявляет массив предполагаемой формы , а форма

real :: arr(*)

объявляет предполагаемый размер .

И, да, между их использованием существуют различия. Различия возникают из-за того, что, примерно, компилятор «знает» форму массива предполагаемой формы, но не массива предполагаемого размера. Дополнительная информация, доступная компилятору, означает, что, помимо прочего, массивы предполагаемых форм могут использоваться в выражениях всего массива. Массив предполагаемого размера может использоваться только в выражениях целого массива, когда он является фактическим аргументом в ссылке на процедуру, которая не требует формы массива. О, а также в вызове внутреннему lbound - но не в вызове внутреннего ubound. Существуют и другие тонкие, и не очень тонкие различия, которые обнаруживают ваше близкое чтение стандарта или хорошей книги Fortran.

Некоторые советы для новых программистов Fortran - использовать массивы предполагаемой формы, когда возможное. Они не были доступны до Fortran 90, поэтому вы увидите множество массивов предполагаемого размера в старом коде. Предполагаемые формы массивов лучше в новом коде, потому что функции shape и size могут использоваться для запроса их размеров, чтобы избежать ошибок за пределами границ и allocate массивов, размеры которых зависят от размеров входных массивов .

0
задан grinder22 25 February 2015 в 19:08
поделиться