Data structures 混合类型Fortran数据结构的最佳实践

Data structures 混合类型Fortran数据结构的最佳实践,data-structures,fortran,Data Structures,Fortran,对于一个项目,我需要一个类似于地图的数据结构,它可以使用字符键存储混合数据类型的值。例如,我的数据结构可能包含: "A" -> 1 "B" -> 2.0d0 "C" -> "three" 我知道我可以为值使用一个可分配的无限制多态变量,并选择type来提取它;然而,我从未在生产代码中认真使用过这种技术 这是用Fortran解决这类问题的最佳方法吗?如果是这样,使用类(*)的最佳实践是什么 有替代解决方案吗?如果有,它们有什么优势?通常,您声明一个可以存储任何类型数据的无界po

对于一个项目,我需要一个类似于地图的数据结构,它可以使用
字符
键存储混合数据类型的值。例如,我的数据结构可能包含:

"A" -> 1
"B" -> 2.0d0
"C" -> "three"
我知道我可以为值使用一个可分配的无限制多态变量,并选择type来提取它;然而,我从未在生产代码中认真使用过这种技术

这是用Fortran解决这类问题的最佳方法吗?如果是这样,使用
类(*)
的最佳实践是什么


有替代解决方案吗?如果有,它们有什么优势?

通常,您声明一个可以存储任何类型数据的无界polymorpic组件。但是对于检索,您需要一个专门针对存储的数据类型的函数(您需要事先知道要获取的数据类型),请看一下,以及。就在最近,有一系列问题涉及到这一领域的许多陷阱。这是解决这类问题的最佳方法吗?不,在Fortran或几乎任何其他编程语言中,这是一种糟糕的方法。它可以灵活地捕获软盘上的数据,但代价是让处理过程自行决定如何处理出现在
->
右侧的数据。用更多的结构设计数据结构要好得多。如果你没有认真审视你的所有需求,这只是一个信息不足的观点。尽管如此,我不确定你的问题是否会得到更好的回答。@HighPerformanceMark,老实说,
class(*)
确实让我很恼火,原因正是你提到的——使用它基本上放弃了静态类型检查的优点。所以我要问的真正问题是:“如果所述接口是一成不变的,那么最好的实现是什么?”