1.=default的出现:
默认情况下,类会自动构造函数,但是,如果我们自定义了构造函数之后,除非自己写一个默认构造函数之外,调用都会发生错误,但是自己写的问题就是:
效率不如系统构造的高。
defaulted 函数特性仅用于类的特殊成员函数,且该特殊成员函数没有默认参数。
所以在写完加一个=default(),可以相当于添加系统默认构造函数。
2.=delete的出现:
为了显式的禁用某个函数,C++11 标准引入了一个新特性:deleted 函数。
(1) 必须在函数第一次声明的时候将其声明为 deleted 函数
(2) 不同于default,delete没有限制为特殊成员函数才能使用delete
参考:
default和delete
1.stl容器
c.begin(); 返回指向容器最开始位置数据的指针
c.end(); 返回指向容器最后一个数据单元+1的指针
begin 返回首元素的地址;
end 返回尾元素的下一个地址。
这样定义有以下几个好处:
数组的空间占用等于终点指针减去起点指针;
数组的终点指针减去起点指针之差,再除以单个元素的长度,等于数组元素的个数;
判断是否到尾部只要!=end就行了;
判断空区间很简单begin()==end();