美文网首页
面试常问C++基础

面试常问C++基础

作者: 大佬带带我啊 | 来源:发表于2021-08-09 17:38 被阅读0次

    有关语言基础:

    • c/c++程序的编译过程(GCC的编译流程)
    • 强类型语言 VS 弱类型语言
    • 数组和指针的区别
    • 字符数组和字符串常量
    • static关键字的作用
    • c++和c的区别
    • c++中的四种cast
    • c++中指针和引用的区别
    • 指针和数组的区别
    • 野指针&悬空指针
    • 虚函数&纯虚函数
    • 为什么析构函数是虚函数&为什么C++默认的析构函数不是虚函数
    • 函数指针VS指针函数
    • C++中析构函数的作用
    • 静态函数与虚函数的区别
    • 重载&重写&覆盖
    • 多态:静态多态&动态多态
    • i++与++i的区别与实现
    • 四种智能指针的实现
    • 字符串之间的区别
    const char * arr = "123";
    char * brr = "123";
    const char crr[] = "123";
    char drr[] = "123";
    
    • C++中const关键字
    • C++中extern关键字
    • C++中volatile关键字
    • C++中explicit关键字
    • C++与C的区别
    • 四种类型转换
    • 说一说extern C
    • new/delete 与 malloc、free的区别
    • 说一说RTTI
    • 虚函数表具体怎么实现运行时多态的
    • C语言如何进行函数调用的
    • C++中拷贝构造函数的形参能否进行值传递
    • 宏定义 VS const VS inline
    • typeof和decltype
    • 大端模式 VS 小端模式
    • 内存分配
    • 内存溢出
    • 内存泄漏
    • 内存对齐
    • 指针数组和数组指针
    • C++中class与struct的区别
    • malloc的内存分配机制
    • 堆和栈的区别
    • 32/64位操作系统中各种变量的大小,比如short,int,long等
    • 宏机制的缺点
    • NULL 与 nullptr
    • C语言中printf的执行流程(操作系统都做了哪些事情?)
    • 系统调用VS库函数

    面向对象相关问题

    • 面向对象 VS 面向过程 VS 面向对象的三大特性
    • C++内存的字节对齐
    • 内联函数 VS 函数重载 VS 虚函数
    • 空类的大小
    • 成员函数初始化列表
    • this指针的原理
    • 如何只在堆区创建对象
    • 如何只在栈区创建对象
    • 深拷贝 VS 浅拷贝
    • delete this合法吗
    • 静态成员变量VS静态成员函数
    • 初始化列表的好处和使用条件
    • 友元全局函数 & 友元类 & 友元成员函数
    • 多继承 & 菱形继承
    • 构造函数能否是虚函数
    • 指针函数 & 函数指针
    • 堆和自由存储区(freeStore)的区别
    • BSS段 VS data段
    • new VS operator new VS placement new
    • 构造函数的相互调用
    • default与delete
    • 基类指针vs子类指针
    • RTTI 与 dynamic_cast

    STL相关

    • map与unordered_map
    • C++实现map
    • map和set有什么区别,分别是怎么实现的?
    • 说一说STL的allocator,如何实现的?
    • STL有哪些基本模块组成?
    • vector的原理,扩容的时间复杂度
    • STL中deque的原理
    • STL中哈希表的扩容
    • 说一说STL的迭代器,迭代器的作用,有指针为什么还需要迭代器?
    • STL中迭代器的失效及分析

    C++11相关

    • C++11的新特性
    • 右值引用/移动语义/完美转发
    • lamda表达式
    • 仿函数
    • RAII

    底层编译相关

    • Linux进程区分段及存储数据
    • 动态库 VS 静态库 区别以及GCC加载库
    • extern -C的结果和CPP编译的区别
    • 重载的底层原理
    • 编译性语言 VS 解释性语言

    相关文章

      网友评论

          本文标题:面试常问C++基础

          本文链接:https://www.haomeiwen.com/subject/ztdbyktx.html