当前位置:  开发笔记 > 编程语言 > 正文

RPG(LE)中的数据结构定义/模板

如何解决《RPG(LE)中的数据结构定义/模板》经验,为你挑选了2个好方法。

假设我有一个数据结构,例如

d dog           DS                  qualified
d   name                        20
d   breed                       20
d   birthdate                    8  0

然后我可以定义

d   poochie                         likeds(dog)

并使用poochie.name等

但是,我可以将"狗"设置为模板,而无需在内存中创建结构吗?



1> squarefox..:

在V6R1中,将有另一个名为TEMPLATE的关键字.带有它的数据结构不是在内存中创建的,只是由编译器用于参考.您还可以将它与inz()结合使用,以获得您喜欢的默认值().



2> Tracy Probst..:

我想到了两种选择.第一种是使用dog属性的d-specs创建一个源成员,而不是使用likeds(dog),在每个将使用该子字段定义的数据结构之后都有/ copy.在我看来,这可能会造成一些草率的代码,并且可能使某些人难以分析道路.另一方面,如果您在多个程序中使用相同的数据结构,则有一些好处.

想到的第二个选项是在dog数据结构上使用Based()关键字,然后定义指针字段.指针字段将占用一些内存,但是狗数据结构在程序分配之前不会占用任何内存.使用LikeDS(),Based()关键字不会转移到针对它定义的其他数据结构中.这样,您就可以在程序源中定义数据结构.您不必为它分配内存,也不必将指针设置为任何值.它默认为Null.请注意不要在代码中访问dog数据结构.你将得到一个指针错误,看起来与没有必需参数的程序被调用时相同.

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有