STL源码
STL源码:
源码定义:
1.allocator<T>是一个类,allocator_type是他的别名
T是一个数据类型,value_type是T的别名,pointer是T*的别名
2.try和catch的用法:
3.size_t和size_type是unsigned的别名
4.给同一个类型定义两个或两个以上的别名(嵌套型号定义)
5.delete指针与让指针指向空的区别:
前者是释放掉该指针指向的内存的内容,后者是让指针指向空(即断了指针和原来的那片内存的联系)
6.this的用法,如果一个类的成员函数用到这个类的成员,则用这个this连接。
this.和this->的区别,什么情况下应该用什么
7.new int(5)与new int [5]的区别
8.使用的new与delete要相同。也就是说如果你在 new表达式中使用了 [],你必须在对应的 delete 表达式中使用 []。如果你在 new 表达式中没有使用 [],你也不必在对应的 delete 表达式中使用 []。
9.括号运算符的用法:只能用于类中的成员函数,不能用于全局函数。(正常调用自己的成员函数过于麻烦,所以通过括号重载,更加简单调用成员函数)
10.在类里面可以先用后定义吗?可以 而全局函数的定义则不可以,的按先后顺序(或者可以用extern函数)
关键字:
1.static_cast 强制类型转换static_cast<int>(a) 将变量a内容强制转换为int类型
手写vector对应函数:vector<int>a, vector<int>a(2), vector<int>a(5,2), push_back,
size(), 通过迭代器访问, 通过下标访问, clear(), 内存扩容