delete可以禁用默认生成的函数,
default默认存在
例如:
class myclass
{
public:
myclass() = delete; 不可用
myclass(const mycalss &) = default 可用
}
类默认生成的函数有:
构造,析构,赋值,拷贝,取址,const修饰的取址
const修饰的成员函数,函数不可修改
void go()const;
有mutable修饰的变量 不受const函数限制
const对象不能调用非const成员函数
静态函数没有this指针
explicit拒绝隐式转换
reinterpret 主要是用于指针类型的转换
dynamic 主要是用于虚函数的子类与父类的转换
构造函数不可以是虚函数
reportSinglcClassLayoutchina 命令行模式下查看所占字节数
final 拒绝重载 必须是虚函数
override 必须重载
有些运行符不能重载为友元函数,它们是:=,(),[]和->
流运算符不可以用成员重载
cout<<控制符;
oct 以16进制显示
hex 以8进制显示
dec 以10进制显示
endl 输出一个新行符,并清空流
ends 输出一个空格符,并清空流
flush 清空流缓冲区
cin>>控制符;
ws 提前空白字符
cout.控制符
precision(15) 小数点后显示15位
width(30) 设定显示30的宽度,如果输出超过30按原本的长度输出
fill(“&”) 用&填充前面的空白
setf(ios::标识符)
left 左对齐
right 右对齐
cin.setf(ios::标识符 , ios::basefield)
oct 以16进制输入
hex 以 8进制输入
dec 以10进制输入
endl 输出一个新行符,并清空流
ends 输出一个空格符,并清空流
flush 清空流缓冲区
resetiosflags 清除历史标识符
setw 设置宽度
setbase 基数,决定进制
istringstream 输入流扫描
f.open("C:\\1.text") 打开文件
close 关闭文件
f.open("C:\\1.text",ios::app) 追加文本
流对象名.seekg(ios::beg) 让文件指针跳到开始位置
istream& istream::seekg(long pos)读指针从流的起始位置向后移动由pos指定的字节
istream& istream::seekg(long off, ios:seek_dir)读指针从流的seek_dir位置移动off指定字节
ios::seek_dir值:
cur 相对于当前读指针所指定的当前位置
beg 相对于流的开始位置
end 相对于流的结尾处
cin.get(存放的地址,大小,终止符/*默认为\n*/)
get()不从流中提取终止字符,终止字符仍在输入流中
getline()从流中提前终止字符,但终止字符被丢弃
ofstream fout(“C:\\bin.bin”,ios::binary)
fout.weite( , )
第一个参数是要写入文件的内存的首地址;
第二个参数是长度
long size = fout.tellp() 当前位置距离begin有多少个字节,在尾部时可以知道文件大小
fout.seekp(0,ios::end); 文本末尾写入
fin.read( , )
第一个参数是保存文件读取到内存,内存首地址
第二个参数是长度
fin.seekg(0.ios::beg) 文本开始读取
多线程的库是《thread》
线程锁定的库是<nutex>
一个二叉树第i层的最大结点数为2^(i-1),i>=1
深度为k的二叉树有最大结点总数为:(2^k)-1.k>=1
对任何非空的二叉树T,若n0表示叶结点的个数,n2是度为2的非叶结点个数,那么两者满足关系n0 = n2 + 1
default默认存在
例如:
class myclass
{
public:
myclass() = delete; 不可用
myclass(const mycalss &) = default 可用
}
类默认生成的函数有:
构造,析构,赋值,拷贝,取址,const修饰的取址
const修饰的成员函数,函数不可修改
void go()const;
有mutable修饰的变量 不受const函数限制
const对象不能调用非const成员函数
静态函数没有this指针
explicit拒绝隐式转换
reinterpret 主要是用于指针类型的转换
dynamic 主要是用于虚函数的子类与父类的转换
构造函数不可以是虚函数
reportSinglcClassLayoutchina 命令行模式下查看所占字节数
final 拒绝重载 必须是虚函数
override 必须重载
有些运行符不能重载为友元函数,它们是:=,(),[]和->
流运算符不可以用成员重载
cout<<控制符;
oct 以16进制显示
hex 以8进制显示
dec 以10进制显示
endl 输出一个新行符,并清空流
ends 输出一个空格符,并清空流
flush 清空流缓冲区
cin>>控制符;
ws 提前空白字符
cout.控制符
precision(15) 小数点后显示15位
width(30) 设定显示30的宽度,如果输出超过30按原本的长度输出
fill(“&”) 用&填充前面的空白
setf(ios::标识符)
left 左对齐
right 右对齐
cin.setf(ios::标识符 , ios::basefield)
oct 以16进制输入
hex 以 8进制输入
dec 以10进制输入
endl 输出一个新行符,并清空流
ends 输出一个空格符,并清空流
flush 清空流缓冲区
resetiosflags 清除历史标识符
setw 设置宽度
setbase 基数,决定进制
istringstream 输入流扫描
f.open("C:\\1.text") 打开文件
close 关闭文件
f.open("C:\\1.text",ios::app) 追加文本
流对象名.seekg(ios::beg) 让文件指针跳到开始位置
istream& istream::seekg(long pos)读指针从流的起始位置向后移动由pos指定的字节
istream& istream::seekg(long off, ios:seek_dir)读指针从流的seek_dir位置移动off指定字节
ios::seek_dir值:
cur 相对于当前读指针所指定的当前位置
beg 相对于流的开始位置
end 相对于流的结尾处
cin.get(存放的地址,大小,终止符/*默认为\n*/)
get()不从流中提取终止字符,终止字符仍在输入流中
getline()从流中提前终止字符,但终止字符被丢弃
ofstream fout(“C:\\bin.bin”,ios::binary)
fout.weite( , )
第一个参数是要写入文件的内存的首地址;
第二个参数是长度
long size = fout.tellp() 当前位置距离begin有多少个字节,在尾部时可以知道文件大小
fout.seekp(0,ios::end); 文本末尾写入
fin.read( , )
第一个参数是保存文件读取到内存,内存首地址
第二个参数是长度
fin.seekg(0.ios::beg) 文本开始读取
多线程的库是《thread》
线程锁定的库是<nutex>
一个二叉树第i层的最大结点数为2^(i-1),i>=1
深度为k的二叉树有最大结点总数为:(2^k)-1.k>=1
对任何非空的二叉树T,若n0表示叶结点的个数,n2是度为2的非叶结点个数,那么两者满足关系n0 = n2 + 1