递归火山软件开发平台

标题: 关于火山【结构体嵌套问题】 [打印本页]

作者: q1012518027    时间: 2022-3-1 11:25
标题: 关于火山【结构体嵌套问题】
A  B  C  结构体

A结构体下有B 结构体   BJ结构体下有C结构体   不用嵌入式的话,火山可以实现嵌套吗,如果调用系统API有存在结构体嵌套参数    纯火山可以实现?  怎么实现?  可以给我例子吗 , 要纯火山实现的!!!!


作者: 米粒    时间: 2022-3-1 12:01
你看看这个有参考价值不:http://bbs.voldp.com/forum.php?m ... id=12976&extra=
作者: 米粒    时间: 2022-3-1 12:03
反正结构体嵌套是现在火山的痛点,参数都是基本类型还好点。不是必须不建议搞:噜阿噜
作者: jiaozhu    时间: 2022-3-1 13:43
现在就烦的就是 嵌套结构体 必须用嵌入,我想也让吴总支持 火山 多层嵌套结构体的问题 而不使用嵌入语法实现的方式
作者: Xelloss0618    时间: 2022-3-1 14:50
不明白你们为什么说不可以嵌套……
用视窗.输入的 API 封装方式,结构体是可以直接嵌套的
唯一有问题的是结构体数组,如果结构体数组的长度是固定的,那也没有问题
遇到长度不固定的,那就只能嵌入式了
作者: q1012518027    时间: 2022-3-1 16:18
jiaozhu 发表于 2022-3-1 13:43
现在就烦的就是 嵌套结构体 必须用嵌入,我想也让吴总支持 火山 多层嵌套结构体的问题 而不使用嵌入语法实现 ...

赞同你的说法
作者: q1012518027    时间: 2022-3-1 16:18
米粒 发表于 2022-3-1 12:03
反正结构体嵌套是现在火山的痛点,参数都是基本类型还好点。不是必须不建议搞:噜阿噜 ...

确实很烦
作者: q1012518027    时间: 2022-3-1 16:19
Xelloss0618 发表于 2022-3-1 14:50
不明白你们为什么说不可以嵌套……
用视窗.输入的 API 封装方式,结构体是可以直接嵌套的
唯一有问题的是结 ...

结构体嵌套你确定能用?依我看API封装输入如果结构体是多层关系好像是不行的吧?我看网上的例子都是嵌入式
作者: 创世魂    时间: 2022-3-1 18:28
q1012518027 发表于 2022-3-1 16:19
结构体嵌套你确定能用?依我看API封装输入如果结构体是多层关系好像是不行的吧?我看网上的例子都是嵌入 ...

可以不嵌入的,但是可能会不怎么好使。。
作者: Xelloss0618    时间: 2022-3-1 20:50
写个例子给你们看看行不行吧,非嵌入式的
包括结构体嵌套,结构体数组,联合体的封装
痛点就是我前面说的,只能固定数组长度
(, 下载次数: 95)

作者: 泡泡小驻    时间: 2022-3-2 08:44
不知道你们说的是不是这个意思
作者: Xelloss0618    时间: 2022-3-2 13:51
泡泡小驻 发表于 2022-3-2 08:44
不知道你们说的是不是这个意思

不是,你先了解C语言的结构体,和火山的结构类是什么
作者: itismine    时间: 2022-3-2 16:01
Xelloss0618 发表于 2022-3-1 20:50
写个例子给你们看看行不行吧,非嵌入式的
包括结构体嵌套,结构体数组,联合体的封装
痛点就是我前面说的, ...

学习一下。
作者: 泡泡小驻    时间: 2022-3-2 16:26
Xelloss0618 发表于 2022-3-2 13:51
不是,你先了解C语言的结构体,和火山的结构类是什么

C语言结构体(Struct)从本质上讲是一种自定义的数据类型,只不过这种数据类型比较复杂,是由 int、char、float 等基本类型组成的。你可以认为结构体是一种聚合类型。

在实际开发中,我们可以将一组类型不同的、但是用来描述同一件事物的变量放到结构体中。例如,在校学生有姓名、年龄、身高、成绩等属性,学了结构体后,我们就不需要再定义多个变量了,将它们都放到结构体中即可。

此外,本章还讲解了与位操作有关的知识点,比如位域、位运算等。


我没有觉得有什么不同
作者: 泡泡小驻    时间: 2022-3-2 16:27
C语言结构体(Struct)从本质上讲是一种自定义的数据类型,只不过这种数据类型比较复杂,是由 int、char、float 等基本类型组成的。你可以认为结构体是一种聚合类型。

在实际开发中,我们可以将一组类型不同的、但是用来描述同一件事物的变量放到结构体中。例如,在校学生有姓名、年龄、身高、成绩等属性,学了结构体后,我们就不需要再定义多个变量了,将它们都放到结构体中即可。

作者: 泡泡小驻    时间: 2022-3-2 16:27
C语言结构体(Struct)从本质上讲是一种自定义的数据类型,只不过这种数据类型比较复杂,是由 int、char、float 等基本类型组成的。你可以认为结构体是一种聚合类型。

在实际开发中,我们可以将一组类型不同的、但是用来描述同一件事物的变量放到结构体中。例如,在校学生有姓名、年龄、身高、成绩等属性,学了结构体后,我们就不需要再定义多个变量了,将它们都放到结构体中即可。

此外,本章还讲解了与位操作有关的知识点,比如位域、位运算等。
作者: Xelloss0618    时间: 2022-3-2 22:56
泡泡小驻 发表于 2022-3-2 16:26
C语言结构体(Struct)从本质上讲是一种自定义的数据类型,只不过这种数据类型比较复杂,是由 int、char ...

建议看一下火山的封装文档,是火山的类不等于结构体,火山的结构类也不等于结构体。
火山的类都自带一些基础数据,没办法在 C/C++ 代码里当作结构体使用。
加了结构类属性后,火山会自动在类里增加一个名称为 S 的真结构体,这个才能在 C/C++ 代码里使用。
作者: 泡泡小驻    时间: 2022-3-3 07:23
Xelloss0618 发表于 2022-3-2 22:56
建议看一下火山的封装文档,是火山的类不等于结构体,火山的结构类也不等于结构体。
火山的类都自带一些 ...

这样解释就明白了
作者: uuyyhhjj    时间: 2022-8-5 14:49
泡泡小驻 发表于 2022-3-2 08:44
不知道你们说的是不是这个意思

找了一圈,原来把@视窗.结构类 去掉就可以嵌套文本型了

弄晕了,好像火山把结构体搞的根本看不明白,完全不会用,按你这种写法会有什么问题吗,官方例子里面都是嵌套C的,用不来




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4