学习记录20201106
模板类不是宏的替换,而是重命名规则
template <class T>
void fun(T a)
{
T x,y;
}
int main()
{
int a = 10;
int *p = &a;
fun(a);
fun(p);
return 0;
}
main函数执行到最后一行时,x和y的类型是int *
引入typeinfo(类型信息)头文件,可以使用typeid(x).name和typeid(y).name来验证
cout << typeid(x).name << endl;
cout << typeid(y).name << endl;
伪构造函数:
int main()
{
int a = 10;
int b(10);
int c = int(10);
return 0;
}
a和b和c的值都为10,因为可以把b看成一个对象,去调用内置的构造函数,称之为伪构造函数
const的好处:
size_t size()const
{return pos + 1;}
size_t capacity()const
{return maxsize;}
bool empty()const
{return size() == 0;}
bool full()const
{return size() == capacity();}
Type& top()
{return data[pos];}
const Type& top()const
{return data[pos];}
定义成常方法可以加强方法的通用性,使用常方法应注意该方法在不改变成员变量的前提下尽可能使用常方法。
栈满的处理方法:
写文件,模拟换页操作(思考)
知识小点:
vector容器中的迭代器是一种指针
exit(0): 正常执行程序并退出程序。
exit(1): 非正常执行导致退出程序。
exit(EXIT_SUCCESS) : 代表安全退出。
exit(EXIT_FAILURE) : 代表异常退出。