c++基础的记录(随笔记录一些基础的东西)

1.父类的析构函数为什么要加上virtual关键字。

      比如说,父类A,子类B。在A* a = new B()的语句的时候,如果父类析构函数没有virtual,我们在delete指针a的时候,会走父类的析构,而不会掉用子类的析构函数,会造成内存泄漏。

2.父类中的virtual函数,子类重写该函数时,需要添加virtual关键字吗?

      这个是可有可无的,因为一旦父类将函数标识为virtual的时候,其派生类会自动生成为虚函数。

3.new于malloc的区别。

     new是在堆上构建对象,他是申请内存,并且初始化,而malloc只是申请内存,并没有初始化。

4.c++中的优先级问题。

  优先级是从左向右,()的优先级比较高。

5.vector与list的区别。

      vector是链表,而vector是数组。

 

posted @ 2019-08-08 11:07  SkySnow(天雪)  阅读(105)  评论(0编辑  收藏  举报
levels of contents