- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
虽然我可以使用最新的编译器,但我必须使用一些旧版 Fortran。
该代码在一维数组中存储大量数据。
例如,
PROGRAM horrible_coding
IMPLICIT EVERYTHING ! Sarcasm
REAL, DIMENSION(1000) :: data
INTEGER, DIMENSION(50) :: info_location
! Somewhere, info is read in and stored temporarily as info_1, info_2, etc.
data(1:3) = info_1
data(4:9) = info_2
...
data(134:192) = info_n
DATA
数组中的哪些元素与哪些 info
片段之间的关联存储在第二个数组中。像这样的东西:
info_location(1) = 1
info_location(2) = 4
info_location(n) = 134
没错。 info_location
数组的每个元素的值指的是数据数组的第一个元素,您可以在其中找到相关信息。
因此,例如,如果您想获取 info_7 的数据,则必须执行以下操作:
size_of_info_7 = info_location(8) - info_location(7)
ALLOCATE(data_for_info_7(size_of_info_7))
data_for_info_7 = data(info_location(7) : info_location(7) + size_of_info_7 - 1)
现在,这种疯狂的景象可能会让你的眼睛开始流血,所以我很抱歉。
我想创建对象实例并将每条信息的所有相关数据存储为实例数据。当我将事情带到 2003 年时,我将创建实例方法来获取和设置实例数据。
我不想重写代码,但想将这种现代化放在现有代码的基础上。
我相信我可以通过使对象实例数据简单地指向包含相关信息的 data
数组的实际元素来实现此目的。
这样做合理吗?
我可以在 Fortran 中创建其实例数据主要是指针的对象吗?
如果没有先将这个想法扔到 stackoverflow,我很犹豫是否要开始这项任务。
最佳答案
Can I create objects in Fortran whose instance data is predominantly pointers?
我不确定你的意思,但你绝对可以这样做:
type data_ptr
real,dimension(:),pointer :: data
end type
您还可以创建这些类型的数组:
type(data_ptr),dimension(:),allocatable :: some_name
(也可以是指针或静态,如您所愿。)
然后,如果原始数据有TARGET
属性,则可以使用:
some_name(i)%data => data(lower:upper)
您还可以将指针重新映射到不同的下界,上面的过程给出了它的下界1。
关于oop - 创建包装对象来对可怕的 Fortran 代码进行解卷积?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10876543/
我们在 session 中存储两个对象。不知何故,来自另一个用户的对象之一被加载到另一个用户的 session 中。用户应该无权访问此特定数据,一旦他们看到它,他们就知道出了什么问题。 我们有向他提供
我现在正在使用 Firefox 5 检查我的网站,我发现字体的呈现很糟糕。 这就是 Firefox (5) 和 Chrome 之间的区别:例如,看看文本 Jeffe 是如何呈现的... 默认字体系列是
我是一名优秀的程序员,十分优秀!