仿函数&share_ptr(指针类)
- share_ptr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16template<class T>
class share_ptr{
T& operator*() const{
return *px;
}
T* operator->() const{
return px;
}
share_ptr(T* p):px(p){}
private:
T* px;
long* pn;
}
1 | template<class T> |
1 | operator double() const{ //表示在需要转换为double时调用这个函数,将对象转换为double 返回值不需要编写 |
Variadic Templates(可变参数模板)
1 | // 可变参数模板 |
空指针
1 | void f(int a){}//function1 |
模板函数书写变化
1 | vector<vector<int> >// |
inline(内联函数)
若在函数体内定义完成,变为内联函数的候选人
inline 函数运行更快,inline 只是建议,具体是否使用由编译器决定
拷贝构造
拷贝赋值
包含指针需要单独实现,不可用默认的
虚函数
虚函数表
栈
是存在于某一作用域内的数据,在函数内声明的任何变量,其所使用的内存块都取自上述stack
堆
实在system heap,是由操作系统提供的一块global 内存空间,系统可动态分配其中的若干块,但是要