當我們從具有通過程指針,是在每種情況下複製的實際過程(子程序/功能)中的數據類型(類)創建多個實例?或者只是複製指針?程序拷貝
例如,考慮下面的代碼可以編譯和運行正常。
module mod2 implicit none private type class_type integer :: a, b, c contains procedure :: add => add_it end type class_type public :: class_type contains subroutine add_it(this) implicit none class(class_type), intent(inout) :: this this%c = this%a + this%b end subroutine add_it end module mod2 program tester use mod2 implicit none type(class_type), dimension(10) :: objs objs(:) = class_type(1, 2, 0) end program tester
是子程序add_it
在每個從數據類型class_type
創建的10個對象的複製?或者子程序add_it
的指令集存儲在某處並指向它,即"procedure :: add => add_it"
複製到每個對象中?