问题标签 [unions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 在python中实现C的枚举和联合
我试图找出一些 C 代码,以便我可以将它移植到 python 中。该代码用于读取专有的二进制数据文件格式。到目前为止它一直很简单——它主要是结构,我一直在使用struct
库从文件中请求特定的 ctypes。但是,我只是想出了这段代码,我不知道如何在 python 中实现它。特别是,我不确定如何处理enum
或union
。
其次,在下面的结构定义中,我不确定变量名后面的冒号是什么意思,(例如,KeyPad:4
)。这是否意味着我应该读取 4 个字节?
如果它有用,我在 python 中访问文件的方式的抽象示例如下:
c - 工会中的工会
在 C 中,是否可以在另一个联合中定义一个联合?如果不是,为什么不可能?或者如果是,它可以在哪里使用?
c - 帮助投射指向联合的指针
我正在研究 C 固件项目。我有一个定义为的工会,
我也有一个具有这个原型的函数,
和定义为 LONGVALUE 类型的变量,
问题:我用数组(tempBuff1)中的值填充联合变量的各个字节,然后我想将联合中第一个元素的地址传递给将其打印到UART的函数。在我的函数调用sendHexToASCII_UART((int *)countAddr.bytes[0], 4);
中,我收到一个编译器警告,说“从不同大小的整数转换为指针”。有人可以解释为什么我会得到这个以及如何让它消失吗?注意:将 (int *) 强制转换为 (char *) 会导致相同的警告。
c++ - C++ 无限制联合解决方法
是否有任何解决方法可以u1.a = u2.a
使用完全相同的语法来完成最后一行,但让它调用operator =
(不关心它是 =(B&) 还是 =(A&)) 而不仅仅是复制数据?还是不受限制的联合(即使在 Visual Studio 2010 中也不支持)是唯一的选择?
c++ - C中“联合”和“结构”之间的主要区别是什么?
可能的重复:
C 中结构和联合之间的区别
我可以理解结构的含义。但是,我对联合和结构之间的区别有点困惑。联合就像一份记忆。究竟是什么意思。?
c++ - 错误:联合中不允许复制赋值运算符
当出现以下错误时,我正在编译下面的代码。我找不到原因。
这段代码虽然用 gcc 编译罚款。仅使用 g++ 给出错误。
c++ - C ++:与方法的联合?
拥有一种或多种方法的工会有什么问题吗?或者有什么需要注意的?(我可以看到构造函数/析构函数由于精神分裂症的原因而存在问题)
c++ - 联合作为基类
该标准定义了 Unions 不能用作 Base 类,但是对此有什么具体的理由吗?据我了解,联合可以有构造函数、析构函数、成员变量以及对这些变量进行操作的方法。简而言之,Union 可以封装可以通过成员函数访问的数据类型和状态。因此,在最常见的术语中,它有资格成为一个类,如果它可以作为一个类,那么为什么限制它不能作为一个基类呢?
编辑:虽然答案试图解释原因,但我仍然不明白 Union 作为派生类比 Union 作为一个类更糟糕。因此,为了获得更具体的答案和推理,我将推动这个以获得赏金。对已经发布的答案没有冒犯,谢谢!