借考试的机会整理一下c++, 重点是整理一下 c++中和c语言中不同的知识点,着重学习嵌入式学习中涉及到的面向对象的思想,运算符重载,模板和异常处理.
(一) 基础知识
1. c++中只有字符串常量,没有字符串变量.
2. 符号常量的使用声明形式
const float PI=3.14(声明是必须赋值)
3.关系运算符的优先级
(<,<=,>,>=)相同高于(==,!=)
逻辑运算符的优先级
(!) >(&&)>(||)
提示:在今后的编程中有到"&&"和"||"时,可能会产生短路,判断了第一个值后,终止了操作,对与第2个操作数有影响.
(a==b)||(++c==1)当a==b为false时,c的自增才会被执行.
4.sizeof 运算符 用于计算某种类型的对象在内存中多占的字节数.
sizeof (类型名)或者sizeof 表达式
5.类型转换
隐含转换:程序自动转换的类型,在表达式中的数据类型和结果的转换.
char-short-int-unsigned -long-unsigned-unsigned long-float-double(由低到高的转换是安全的)
显示转换
类型说明符 (表达式)
4种转换操作符
const_cast<类型说明符>(表达式)
dynamic_cast<>()
reinterpret_cast<>()
static_cast<>() //static_case<int>(z)=(int )z
5.c++中没有赋值语句和函数调用语句.赋值和函数调用都通过表达式来完成.
6.在c++中,将数据从一个对象到另一个对象的流动抽象为流.流在使用前被建立,使用后要被删除.
cout<<"a+b="<<a+b; 输出a+b=的值
"<<"是预定义的插入符,作用在流类对象cout 上.
cin>>a>>b;
7.I/O格式控制:控制输出的宽度,有效数字个数等基础设置.
cout<<set(5)<<3.1415<<end1 设置宽域为5个字符,并换行.
8.c++ 中有内置的基本类型,还可以自定义数据类型.自定义的数据类型包含:枚举类型,结构类型,联合类型,数组类型,类类型.
9.typede 声明 typedef 已有类型名 新类型名
10.枚举类型 enum
enum 类型名{变量值列表}
定义该数据类型,在使用是灵活的转换类型.
GameResult result;
enum Gamesule omit=CANCEL;
枚举类型声明了之后可以,声明变量时,关键字可以省略.
int count=WIN ;//把win 隐含转化为int形
result=GameResult(count);//整形到枚举类型的转换需要显示转换方式
result=static_cast<GameResult>(const )//功能同上