c++ 宏要点;
来源:互联网 发布:怎么破解软件密码 编辑:程序博客网 时间:2024/06/06 14:17
#pragma once
/*
枚举分为两种类型:
1.枚举类,enum class,枚举值在局部作用域内,枚举值不会隐式地转换成其他类型;
2.普通枚举,枚举值名字与枚举类型在同一作用域内,枚举值隐式地转为整数;
*/
enum class color{red,green,blue};
// 测试:
/*
color c= color::red;
if (c == color::red)
if(color::red == 9)// error
*/
/*
要点2,如果作为switch处理,则必须处理每一个枚举类值,否则会提示警告信息;
*/
/*
要点3:如果需要整数类型,则使用static_cast强制转换;
*/
/*
要点4:可以将其定义为1,2,4,8之类的值,进行与或运算;
如:constexpr operator|(x1,x2){return x1|x2; }
*/
//要点5:这里char的意思是诸如red能捕获到到值范围;此外,对其sizeof结果是对基础类型结果,枚举类型尺寸是sizeof(int)
enum class color2 :char
{
red,yellow,other
};
/*
要点6:普通类型枚举变量不能有两个相同取值,如:enum e1{red},e2{red},二者会冲突;
这里也可以看出,枚举类出现主要目的是解决大型程序中枚举值冲突问题;
需要注意的是不同枚举类值不能互相比较,因为二者是不同类型;
此外也可以不用命名使用,目的只是使用其常量值;
枚举可以先声明再进行使用;
*/
/*********************************语句表达式******************************************/
//要点1:在switch分支中,不要定义和使用变量;如果需要使用,应放在一个块中;
//要点2:goto语句只能向后跳转,不能向前跳转;
//要点3:嵌套注释会寻找最后一个符合的*/
//要点4:求值顺序,如y=f1+f2,先求f1还是先求f2没有正式规定;
//要点5:c11指针类型bool转换和普通bool判别式相同,不需要使用老版本风格。
/*
枚举分为两种类型:
1.枚举类,enum class,枚举值在局部作用域内,枚举值不会隐式地转换成其他类型;
2.普通枚举,枚举值名字与枚举类型在同一作用域内,枚举值隐式地转为整数;
*/
enum class color{red,green,blue};
// 测试:
/*
color c= color::red;
if (c == color::red)
if(color::red == 9)// error
*/
/*
要点2,如果作为switch处理,则必须处理每一个枚举类值,否则会提示警告信息;
*/
/*
要点3:如果需要整数类型,则使用static_cast强制转换;
*/
/*
要点4:可以将其定义为1,2,4,8之类的值,进行与或运算;
如:constexpr operator|(x1,x2){return x1|x2; }
*/
//要点5:这里char的意思是诸如red能捕获到到值范围;此外,对其sizeof结果是对基础类型结果,枚举类型尺寸是sizeof(int)
enum class color2 :char
{
red,yellow,other
};
/*
要点6:普通类型枚举变量不能有两个相同取值,如:enum e1{red},e2{red},二者会冲突;
这里也可以看出,枚举类出现主要目的是解决大型程序中枚举值冲突问题;
需要注意的是不同枚举类值不能互相比较,因为二者是不同类型;
此外也可以不用命名使用,目的只是使用其常量值;
枚举可以先声明再进行使用;
*/
/*********************************语句表达式******************************************/
//要点1:在switch分支中,不要定义和使用变量;如果需要使用,应放在一个块中;
//要点2:goto语句只能向后跳转,不能向前跳转;
//要点3:嵌套注释会寻找最后一个符合的*/
//要点4:求值顺序,如y=f1+f2,先求f1还是先求f2没有正式规定;
//要点5:c11指针类型bool转换和普通bool判别式相同,不需要使用老版本风格。
阅读全文
0 0
- 复习C要点
- C要点(一)
- C语言要点总结
- 嵌入式C编程要点
- C语言解惑要点
- c 函数要点
- C++/CLI 要点
- C语言复习要点
- Objective-C基础知识要点
- 《Effective C++》要点摘录
- C语言要点
- C语言要点
- C语言要点2
- C语言要点3
- C语言要点4
- C语言模块化要点
- c编程习惯要点
- c语言要点!
- Hibernate需要的10个jar包
- P2P中DHT网络介绍
- java中 遍历 map 的 四种方法
- OA系统审批邮件业务规则整理
- 深入理解JVM(四)——对象内存的分配策略
- c++ 宏要点;
- Linux文件管理常用命令
- Oracle常用批量操作
- 利用Oracle闪回技术恢复误操作数据
- Codeforces Round #370 (Div. 2) E. Memory and Casinos
- 数据库导出表格式到excel
- 深度学习笔记——理论与推导之Structured Learning【Structured SVM】(七)
- thinkphp mysql 读写分离
- SQL Server数据同步