Giả sử bạn muốn danh sách các mảng, mỗi mảng có cùng kích thước. Là nó tốt hơn hiệu suất-khôn ngoan để sử dụng một mảng 2D:Sử dụng mảng 2d so với mảng của kiểu dẫn xuất trong Fortran 90
integer, allocatable :: data(:,:)
hoặc một loạt các loại có nguồn gốc:
type test
integer, allocatable :: content(:)
end type
type(test), allocatable :: data(:)
Tất nhiên, đối với mảng của các kích cỡ khác nhau, chúng tôi không có sự lựa chọn. Nhưng bộ nhớ được quản lý như thế nào giữa 2 trường hợp? Ngoài ra, là một trong số họ thực hành mã tốt?
Hãy xem xét các khả năng được cung cấp bởi các hoạt động đã xác định đối với nhận xét của bạn về phép nhân và phép gán cho mảng. – IanH
Đủ công bằng, nhưng nó vẫn đúng với việc sử dụng các mảng 2d giúp bạn (a) nhanh hơn (b) có ít thời gian hơn (ví dụ, d = a * b + c), (c) với cắt ở cả hai chiều tại đồng thời, tất cả (d) miễn phí. Nó vẫn sẽ có ý nghĩa hơn để làm mảng-of-mảng trong một số trường hợp, nhưng nếu bạn không cần thêm tính tổng quát, bằng cách sử dụng trường hợp đơn giản có thể có ý nghĩa. –