1. #include<iostream>
  2. #include <new>
  3. #include<stdio.h>
  4. using namespace std;
  5. /**
  6. * url:http://www.cplusplus.com/doc/tutorial/other_data_types/
  7. */
  8. /**
  9. * in which all its member elements occupy the same physical space in memory.
  10. * The size of this type is the one of the largest member element
  11. */
  12. union mytypes_t
  13. {
  14. char c;
  15. int i;
  16. float f;
  17. } mytypes;
  18.  
  19. /**
  20. * 枚举类,注意不是枚举类型,语法如下
  21. */
  22. //They are declared with enum class (or enum struct) instead of just enum:
  23. enum class Colors
  24. : long
  25. {
  26. black, blue, green
  27. };
  28. enum Color2
  29. {
  30. black2, blue2, green2, white
  31. };
  32.  
  33. enum class EyeColor
  34. : char
  35. { blue, green, brown
  36. };
  37.  
  38. //大神解说 https://zhuanlan.zhihu.com/p/21722362
  39. //enum Color
  40. //{
  41. // //编译出错,重新定义white
  42. // black, white, red
  43. //equals this
  44. //#define black 0
  45. //#define white 1
  46. //#define red 2
  47. //};
  48. //that is ok
  49. enum class Color
  50. {
  51. black, white, red
  52. };
  53.  
  54. // auto white = false; // error
  55.  
  56. template<class T> void f(T t)
  57. {
  58. using tt = T;
  59. tt t2;
  60. t2 = t;
  61. typedef T ttt;
  62. ttt t3 = t;
  63. }
  64. int main()
  65. {
  66. /**
  67. * 类型别名
  68. * 继承自c
  69. * typedef existing_type new_type_name;
  70. * c++
  71. * using new_type_name=existing_type
  72. */
  73. typedef char C_1;
  74. C_1 c = 'A';
  75. using C_2 = char;
  76. C_2 cc = 'B';
  77. f();
  78. Colors mycolor;
  79. mycolor = Colors::black;
  80. if(mycolor == Colors::black)
  81. {
  82. mycolor = Colors::blue;
  83. }
  84. //只有一个字节长度噢
  85. cout << sizeof(EyeColor) << endl;
  86. cout << sizeof(Colors) << endl;
  87. cout << sizeof(Color2) << endl;
  88. return ;
  89. }

c++官方文档-枚举-联合体-结构体-typedef-using的更多相关文章

  1. OpenGL ES着色器语言之语句和结构体(官方文档第六章)内建变量(官方文档第七、八章)

    OpenGL ES着色器语言之语句和结构体(官方文档第六章) OpenGL ES着色器语言的程序块基本构成如下: 语句和声明 函数定义 选择(if-else) 迭代(for, while, do-wh ...

  2. Swift -- 中文版两大官方文档汇总

    Swift官方文档由CocoaChina翻译小组精心翻译制作而成,目前两本文档中文版已全部完成!在此,我们对所有参与的译者.组织人员以及工作人员表示衷心的感谢!本文为您提供两本文档的在线阅读以及下载! ...

  3. Spring 通读官方文档

    Spring 通读官方文档 这部分参考文档涵盖了Spring Framework绝对不可或缺的所有技术. 其中最重要的是Spring Framework的控制反转(IoC)容器.Spring框架的Io ...

  4. Kotlin开发语言文档(官方文档)-- 目录

    开始阅读Kotlin官方文档.先上文档目录.有些内容还未阅读,有些目录标目翻译还需琢磨琢磨.后续再将具体内容的链接逐步加上. 文档链接:https://kotlinlang.org/docs/kotl ...

  5. iOS开发官方文档汇总

    程序员的学习过程是无止境的,程序员学习的途径是多样的.可以从视频教程中领悟,也可以从他人的代码中 理解.但当我们专注于某一个平台在开发的时候,对于某个API使用或者功能实现有疑问,通常简单的测试可以让 ...

  6. clang format 官方文档自定义参数介绍(中英文)

    官方文档:http://clang.llvm.org/docs/ClangFormatStyleOptions.html 中文 在代码中配置样式 当使用 clang::format::reformat ...

  7. Protocol Buffers(Protobuf) 官方文档--Protobuf语言指南

    Protocol Buffers(Protobuf) 官方文档--Protobuf语言指南 约定:为方便书写,ProtocolBuffers在下文中将已Protobuf代替. 本指南将向您描述如何使用 ...

  8. OpenGL ES着色器语言之操作数(官方文档第五章)

    OpenGL ES着色器语言之操作数(官方文档第五章) 5.1操作数 OpenGL ES着色器语言包含如下操作符. 5.2数组下标 数组元素通过数组下标操作符([ ])进行访问.这是操作数组的唯一操作 ...

  9. OpenGL ES着色器语言之变量和数据类型(一)(官方文档第四章)和varying,uniform,attribute修饰范围

    OpenGL ES着色器语言之变量和数据类型(一)(官方文档第四章)   所有变量和函数在使用前必须声明.变量和函数名是标识符. 没有默认类型,所有变量和函数声明必须包含一个声明类型以及可选的修饰符. ...

随机推荐

  1. 第三周作业3——Bug Report

    作业要求来自:https://edu.cnblogs.com/campus/nenu/SWE2017FALL/homework/957 要求1: 准备工作:利用老师提供的git 命令,批量pull所有 ...

  2. hdu 5312 dp(背包)、二分图或其他姿势

    题意:给出一个二分图(不一定连通),问最多能加多少边,使它仍然是二分图 BC周年庆第四题,貌似终判再终判之后数据还是有问题``` 据说貌似可以用bitset搞,而且姿势优美是正解```然而我还是用的d ...

  3. MySQL命令行--导入导出数据库

    MySQL命令行导出数据库:   1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\MySQL\MySQL Se ...

  4. thrift 知识点

    mac下,thrift 安装 mac下,最简单安装thrift的方法:使用brew安装 brew update brew install thrift 验证安装成功:thrift --help 安装出 ...

  5. spring 概念之:IoC(控制反转)

    IoC(控制反转,Inverse of Control) IoC 的字面意思是控制反转,它包括两方面的内容: 控制 反转 那到底是什么东西的"控制"被"反转"了 ...

  6. java 的关键字 native

    native native 关键字说明其修饰的方法是一个原生态方法,方法对应的实现不是在当前文件,而是在用其他语言(如C和C++)实现的文件中.Java语言本身不能对操作系统底层进行访问和操作,但是可 ...

  7. webpack入门认知

    webpack 是什么? 本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依赖 ...

  8. [转]使用Nginx实现反向代理

    使用Nginx实现反向代理 解释 正向代理的概念 正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器这个代理服务器呢,他能访问 ...

  9. sqlvarchar后自动填充空格解决办法(SET ANSI_PADDING)

    SET ANSI_PADDING http://www.yesky.com/imagesnew/software/tsql/ts_set-set_2uw7.htm http://www.makaido ...

  10. 如何在eclipse中安装angularjs插件

    1,首先,在eclipse中使用angularjs的时候,由于没有相应的提示,导致在开发的时候给我们带来了很多的不便,需要在这上面耗费一些时间.那么这时候我们都在想可不可以让eclipse也和一些前端 ...