面试问题

来源:互联网 发布:drilldown是什么软件 编辑:程序博客网 时间:2024/04/29 03:53

1、map是用什么实现的?rb_tree(红黑树)

2、工厂模式和单例模式 以及他们的运用场景

3、左值和右值的区别?
左值有符号(有容器来装值),右值没有符号(只有值没有容器来装值)

4、纯虚函数可以定义,不会报错!

5、void fun(int a)和
void fun(const int &a) 第一个的效率高于第二个的效率,因为引用底层实现是指针,想获取值的话还要通过指针获取值,而直接赋值还要快些。

6、重载new 和 delete 运算,重载的函数先执行

1.局部重载new和delete(可以使用成员函数和友元函数两种方式重载)  使用new分配某个重载了new的累的对象空间时,先调用new的重载函数,再调用该类的构造函数,如果该类的构造函数有参数要求,则必须给出对应的实参。  使用了delete释放某个重载了delete的累的对象空间时,先调用类的析构函数,然后再调用重载的delete函数。
0 0