说明

联合(union)是一种节省空间的特殊的类,一个 union 可以有多个数据成员,但是在任意时刻只有一个数据成员可以有值。当某个成员被赋值后其他成员变为未定义状态。联合有如下特点:

  • 默认访问控制符为 public

  • 可以含有构造函数、析构函数

  • 不能含有引用类型的成员

  • 不能继承自其他类,不能作为基类

  • 不能含有虚函数

  • 匿名 union 在定义所在作用域可直接访问 union 成员

  • 匿名 union 不能包含 protected 成员或 private 成员

  • 全局匿名联合必须是静态(static)的

使用

#include<iostream>union UnionTest {UnionTest() : i(10) {};int i;double d;
};static union {int i;double d;
};int main() {UnionTest u;union {int i;double d;};std::cout << u.i << std::endl;  // 输出 UnionTest 联合的 10::i = 20;std::cout << ::i << std::endl;  // 输出全局静态匿名联合的 20i = 30;std::cout << i << std::endl;    // 输出局部匿名联合的 30return 0;
}

C++关键字union相关推荐

  1. MySQL关键字union,limit,通用分页

    关键字union,limit,通用分页 union合并查询结果集 案例:查询工作岗位是MANAGER和SALESMAN的员工 //写法一 select ename,job from emp where ...

  2. C语言丨关键字union的定义和使用

    union,中文名"联合体.共用体",在某种程度上类似结构体struct的一种数据结构,共用体(union)和结构体(struct)同样可以包含很多种数据类型和变量. 但在&quo ...

  3. C语言:关键字---union(声明共用体类型)

    C语言32个关键字 有32个关键字详细说明,还有跳转链接! 一.union 简介 union 是C语言中一种声明共用体的数据类型. union(共用体)在某种程度上类似struct(结构体)的一种数据 ...

  4. SQL关键字 union、intersect、except用法

    1.union是A集合和B集合的并集: select 'S_E_Product' FormType,Name,Code,Version,ProjectInfoID,WBSID,MajorValue f ...

  5. c语言字母表关键字,读书笔记-C语言关键字

    001 关键字 C语言一共32个关键字 1. 声明和定义 在开始认识关键字前,必须要明白什么是声明,什么事定义: 定义:(编译器)创建一个对象,为这个对象分配一段内存并给他取上一个名字.在一个作用域内 ...

  6. sql注入-union select

    什么是SQL注入 SQL注入(Sql Injection ) 是一种将SQL语句插入或添加到应用(用户)的输入参数中的攻击 这些参数传递给后台的SQL数据库服务器加以解析并执行 哪里存在SQL注入? ...

  7. C语言深度剖析书籍学习记录 第一章 关键字

    C语言标准定义了32个关键字 union声明联合数据类型 Union declaration - cppreference.com 维护足够的空间来置放多个数据成员中的"一种",而 ...

  8. C语言笔记(关键字)

    gdb调试 gcc 源程序 -g:加gdb调试信息 gdb可执行程序:(gdb调试) l(ist):查看源码,按一下从main开始10行以此往后 l n:查看n处上下10行的源码 run:运行程序 b ...

  9. C语言深度解剖读书笔记(1.关键字的秘密)

    开始本节学习笔记之前,先说几句题外话.其实对于C语言深度解剖这本书来说,看完了有一段时间了,一直没有时间来写这篇博客.正巧还刚刚看完了国嵌唐老师的C语言视频,觉得两者是异曲同工,所以就把两者一起记录下 ...

最新文章

  1. nowcoder119E A Simple Problem
  2. 42. Vue、React 等前端项目部署,刷新 404 问题解决方案
  3. boost::detail::sp_typeinfo用法实例
  4. .Net Core应用框架Util介绍(五)
  5. mySQL字符串字段区别_MySQL类型之(字符串列类型区分、数据类型区分)
  6. Color类提供的颜色
  7. 获取表数据_大数据抽取解决方案——kettle分页循环
  8. 51nod 牛奶 bfs深度优先搜索
  9. Win7和XP操作系统显示文件扩展名
  10. 重装系统蓝屏,电脑开机蓝屏解决方法记录
  11. 记录一下java的常用单词
  12. 海贼王剧场版:Z 剧情详解(附TS无字幕版地址)
  13. fiddler界面工具栏介绍
  14. 服务器文档分类,服务器的分类
  15. 【爬虫实战】01利用python爬虫并进行数据分析(链家 爬虫)
  16. cocoscreator1.52 删除anysdk
  17. table表格做一个表头斜线样式
  18. IntelliJ IDEA 必知技巧(持续更新)
  19. android手机屏幕总是闪烁,手机屏幕闪烁是什么原因
  20. 每日安全文章【1122】

热门文章

  1. Python加密—AES加密(2)
  2. STL笔记(5)条款49:学习破解有关STL的编译器诊断信息
  3. Android中去掉标题的方法总结
  4. jenkins运行日志时间与linux,Jenkins 用户文档(运行多个步骤)
  5. 区块链4.0DexChain是什么?
  6. 如何成为软件工程师的团队合作者
  7. 什么是棉绒,它如何节省您的时间?
  8. 我如何使用深度学习通过Fast.ai对医学图像进行分类
  9. css 倒三角_倒三角结构:如何管理大型CSS项目
  10. linux系统管理及vim