常用的输出设置
dex十进制、oct八进制、dec十六进制
语法cout<<hex<<17;
浮点数精度
Steprecision(n)n代表有效位数,包括小数和整数
Setw(n) n是输入数据占用屏幕的宽度的字符个数,输入数据默认右对齐
设置对齐方式
Setiosflags(ios:right)设置数据对齐格式
Resetiosflags(ios:left)取消数据对齐格式
字符输入
Getch 直接从键盘获取一个字符给变量,不回显在怕屏幕上
Getche直接从键盘获取一个字符给变量,回显在怕屏幕上
Getchar直接从键盘获取一个字符给变量,回显在怕屏幕上,回车后字符进入内存
字符串输入函数
Cin.get()结束符号自定义
格式
char c;
while ((c = cin.get()) != ' ')
cout.put(c);
return 0;
Cin.Getline()函数
Char ch[10];
cin.getline(ch,5)结束符号默认换行
类型转换
Int a; float b; int c=a+b; 转为int
Double add(int a,int b) return a+b 转为double
静态类型转换
Char b; int x=static_cast<int>(b) 转为int
不能子类转化为父类
不能转换const、volatile
常类型转换
用来修改const、volatile属性,数据值和数据类型不变
int num = 100;
const int* p1 = #
int* p2 = const_cast<int*>(p1);
*p2 = 20;
cout << *p1 << endl;
return 0;
动态强制类型转换
Dynamic_cats<>()
用来转换指针或者引用只能在多态时合法,具检查是否合法功能,比静态转换安全
重解释强制类型转换
Reintterpret_cast<>
可以转换毫不相关
Int a;
Char* c=“sdsad”;
a =reinterpret<int>(c)
C++const常量
代码执行过程中固定不变的内存单元
Const int a=4;
Const a=4;整型可以被省略
常量不可被修改,常量必须初始化
Const与#define区别
Const修饰的变量带类型,#define定义的是常数,不带类型
#define 预处理阶段运行,const 编译阶段运行
#define只是简单字符替换,没有类型检查,可以#undef取消定义
String串是一个类
重载了【】可以通过索引访问
可以直接+号拼接两个字符串
可以直接比较符号来比较> < == !=
Size\length获取字符串长度
Typedef
类型定义符号 为类型取了一个别的名字
Typedef int tni;
指针和引用
常量指针
Const char* ch=”hello”;
变量hello不可被修改
P[2]=d错误
但是p=”world”正确的
p是变量
*p无法被修改
Char *const p=”hello“
p不可以被修改
Int *p;
Const int a=10;
P=&a是错误的
Const Int *p;
Int a=10;
P=&a 是正确的
*p不可被修改