C/C++ 知识点总结

近期忙于找工作,整理一些觉得重要的相关考点共享出来,也会补充一些简答。

     
       
       
       
       
  • 构造函数,是否可以为虚函数;
  • 析构函数,是否需要为虚函数;
  • 拷贝构造函数,深拷贝、浅拷贝;
  • 堆 & 栈;
  • malloc/free & new/delete;(标准库函数&运算符/是否可以自动调用构造析构函数/是否自动计算空间大小/是否类型安全/返回指针)
  • 动态内存的传递;(指向指针的指针/传递引用/通过函数返回值返回拷贝)
  • 重载 & 覆写;(编译阶段完成 & 运行阶段完成)
  • 关键字sizeof;(变量/联合体/结构体/包含虚函数的类/含虚继承)
  • 位运算;
  • inline函数;
  • 指针 & 引用; (初始化要求/可修改性/是否可为NULL/合法性检测)
  • 指针常量 & 常量指针;
  • this;(类的非静态成员函数才有this指针,可考虑C++成员函数存储方式以及C++mangle)
  • C语言的static/extern/register;
  • const & define;
  • C++的static作用;(函数体内/模块内/模块外)
  • static全局变量 & 普通全局变量;(初始化次数/作用域)
  • static局部变量 & 普通局部变量;(初始化次数/存储方式)
  • static函数 & 普通函数;(static函数在内存中只有一份,普通函数每次调用都维持一份复制品)
  • C++静态成员;(不属于实例,属于类本身)
  • i++ & ++i 效率问题;
  • struct & class;(区分C的struct和C++的struct)
  • C++的多态机制;
  • 内存泄露的检测,内存溢出和内存泄露的区别;
  • 大端小端判断;(union存放顺序所有成员从低地址开始存放)
  • 指针函数/函数指针/指针数组/数组指针;
  • C++的四种强制类型转化;(const_cast/static_cast/dynamic_cast/reinterpret_cast)
  • volatile作用;(修饰被不同线程访问和修改的变量,编译器不会去假定这个变量的值)
  • assert;(判断程序是否出现了非法的数据/ASSERT 宏& assert 函数)
  • C++main函数执行之前、之后做哪些事情;(全局对象的构造、析构,可以用atexit()注册main函数之后调用的函数)
  • C++ explicit;(隐式转换的限制)
  • typedef & define;
  • 虚函数;
  • C++ template & Java generic;
  • 面向对象 & 面向过程;
  • 判断一个变量是有符号还是无符号数;(取反操作/改变符号位)
  • 类成员变量初始化;(按照变量声明顺序而且初始化列表顺序/当类含有const、reference、基类构造函数时需要使用初始化列表)
  • 构造函数可以被重载,析构函数不可以被重载;
  • 临时对象;(参数按值传递/返回值按值传递)
  • C++继承;(考虑多重继承和虚拟 继承)
  • 虚函数 & 纯虚函数;(实作继承 & 介面继承)

你可能感兴趣的:(C/C++,计算机面试复习总结,c++,c,知识,总结)