首页 > 其他分享 >union联合体

union联合体

时间:2023-10-08 19:25:01浏览次数:32  
标签:struct union Vector2 float 联合体 内存

联合体只有一个成员,所以可以在一个联合体用不同的方式定义一个成员

这一个成员站得内存都是一个内存

联合体可以是匿名的也可以是有名字的

struct Vector2{
	float x, y;
};
struct Vector4 {
	union {
		struct {
			float x, y, z, w;
		};
		struct {
			Vector2 a, b;
		};
	};
};
void PrintVector(Vector2& vector) {
	std::cout << vector.x << "," << vector.y << std::endl;
}
int main() {
	Vector4 vector = { 0.1f,0.3f,9.0f,10.0f };
	PrintVector(vector.a);
	PrintVector(vector.b);
	vector.w = 34.0f;
	std::cout << "----------" << std::endl;
	PrintVector(vector.a);
	PrintVector(vector.b);
}

 

标签:struct,union,Vector2,float,联合体,内存
From: https://www.cnblogs.com/wangkaixin-yy/p/17749937.html

相关文章

  • chisel安装和使用+联合体union的tagged属性+sv读取文件和显示+sv获取系统时间+vcs编译
    chisel安装和使用sbt:scalabuildtool,是scala的默认构建工具,配置文件是build.sbt。mill:一个新的java/scala构建工具,运行较快,与sbt可以共存,配置文件是build.sc。chisel的安装可以参考这篇文章。安装过程务必联网,而没有联网情况下的安装,按照其它的说明,如移动缓存文件等,并无法正常......
  • union学习
    #include<iostream>#include<string>classToken{public:Token():tok(INT),ival(0){}~Token(){if(tok==STR){sval.~basic_string();//联合体中编译器不会自动调用析构函数}}Token&operator=(inti){if(tok==STR){......
  • union all和union的区别 怎么使用
    一、区别1:取结果的交集1、union:对两个结果集进行并集操作,不包括重复行,相当于distinct,同时进行默认规则的排序;2、unionall:对两个结果集进行并集操作,包括重复行,即所有的结果全部显示,不管是不是重复;二、区别2:获取结果后的操作1、union:会对获取的结果......
  • crash工具使用 —— 省去输入struct或者union关键字
    使用crash工具根据地址查看结构体的内容时,有时需要输入struct或者union,多少有些繁琐,crash提供了*命令,直接跟在结构体或者联合体的名字的前面即可。示例:带structcrash>structkmem_cache-xffff893751f60800structkmem_cache{cpu_slab=0x5fc135c77b40,flags=......
  • KingbaseES数据库安装PostGIS扩展GEOSUnaryunionPrec错误
    一、问题现象:KingbaseESV008R006C007B0012数据库集群安装PostGIS扩展插件报错。createextensionpostgis;ERROR:couldnotloadiibrary"/opt/kingbase/cluster/kingbase/lib/postgis-3.so”:/opt/kingbase/cluster/kingbase/lib/postgis-3.so:undefinedsymbo1:GEOSUnar......
  • union共用体
    一、总结1.共用体表示几个变量共用一个内存位置,在不同的时间保存不同的数据类型和不同长度的变量。在union中,所有的共用体成员共用一个空间,并且同一时间只能储存其中一个成员变量的值。2.当一个共用体被声明时,编译程序自动地产生一个变量,其长度为联合中类型字节数最多的变......
  • 软件测试|SQL中的UNION和UNION ALL详解
    简介在SQL(结构化查询语言)中,UNION和UNIONALL是用于合并查询结果集的两个关键字。它们在数据库查询中非常常用,但它们之间有一些重要的区别。在本文中,我们将深入探讨UNION和UNIONALL的含义、用法以及它们之间的区别。UNION操作UNION用于合并两个或多个查询的结果集,并返回一个唯一的......
  • 结构体Struct、联合体Union与类Class
    结构体Struct、联合体Union与类Class1.Struct/Classstruct能包含成员函数吗?能!struct能继承吗?能!!struct能实现多态吗?能!!!1.1最本质的区别是默认的访问控制;结构体的继承是public的,class的继承是private的;两者也可以交叉继承,继承权限由子类决定,如结构体B继承类A,则为public继......
  • burpsuite靶场----SQL注入3----oracle的union注出版本
    burpsuite靶场----SQL注入3----oracle注入推荐burpsuite插件https://github.com/smxiazi/xia_sqllinux上安装oraclemysql的详细学习可以下载小皮面板或者手动安装oracle这里使用docker安装,因为oracle手动安装比较麻烦这里我参照这位师傅的博客在linux上搭建oracle数据库ht......
  • union注入
    数据库information_schema 包含所有mysql数据库的简要信息↓ 其中包含有两个所需数据表 tables  columns表名集合表列名集合表 查找数据库security中的表名第一步确定基本查询语句字符型(闭合符号)/数字型查询语句列数group......