当前位置: 首页 > news >正文

面试宝典(C++基础)-01

文章目录

  • 1. C++基础
    • 1.1 C++特点
    • 1.2 说说C语言和C++的区别
    • 1.3 说说 C++中 struct 和 class 的区别
    • 1.4 include头文件的顺序以及双引号""和尖括号<>的区别
    • 1.5 说说C++结构体和C结构体的区别
    • 1.6 导入C函数的关键字是什么,C++编译时和C有什么不同?
    • 1.7 C++从代码到可执行二进制文件的过程
    • 1.8 说说 static关键字的作用
    • 1.9 数组和指针的区别
    • 1.10 说说什么是函数指针,如何定义函数指针,有什么使用场景
    • 1.11 静态变量什么时候初始化?
    • 1.12 nullptr调用成员函数可以吗?为什么?
    • 1.13 说说什么是野指针,怎么产生的,如何避免
    • 1.14 说说静态局部变量,全局变量,局部变量的特点,以及使用场景
    • 1.15 说说内联函数和宏函数的区别


1. C++基础

1.1 C++特点

  1. C++在C语言基础上引入了面对对象的机制,同时也兼容C语言
  2. C++有三大特性(1)封装。(2)继承。(3)多态
  3. C++语言编写出的程序结构清晰、易于扩充,程序可读性好。
  4. C++生成的代码质量高,效率高,
  5. C++更加安全,增加了const常量、引用、四类cast转换(static_cast、dynamic_cast、const_cast、reinterpret_cast)、智能指针、try—catch等等;
  6. C++可复用性高,C++引入了模板的概念,标准模板库STL(Standard Template Library)。

1.2 说说C语言和C++的区别

  1. C语言是C++的子集,C++可以很好兼容C语言。但是C++又有很多新特性,如引用、智能指针、auto变量等。
  2. C++是面对对象的编程语言;C语言是面对过程的编程语言。
  3. C语言有一些不安全的语言特性,如指针使用的潜在危险、强制转换的不确定性、内存泄露等。而C++对此增加了不少新特性来改善安全性,如const常量、引用、cast转换、智能指针、try—catch等等;
  4. C++可复用性高,C++引入了模板的概念,后面在此基础上,实现了方便开发的标准模板库STL。
    C++的STL库相对于C语言的函数库更灵活、更通用。

1.3 说说 C++中 struct 和 class 的区别

  1. struct 一般用于描述一个数据结构集合,而 class 是对一个对象数据的封装;
  2. struct 中默认的访问控制权限是 public 的,而 class 中默认的访问控制权限是 private 的。
  3. 在继承关系中,struct 默认是公有继承,而 class 是私有继承;
  4. class 关键字可以用于定义模板参数,就像 typename,而 struct 不能用于定义模板参数,

1.4 include头文件的顺序以及双引号""和尖括号<>的区别

  1. 区别:
    (1)尖括号<>的头文件是系统文件,双引号""的头文件是自定义文件。
    (2)编译器预处理阶段查找头文件的路径不一样。
  2. 查找路径:
    (1)使用尖括号<>的头文件的查找路径:编译器设置的头文件路径–>系统变量。

相关文章:

  • AlexNet神经网络详解及VGGNet模型和
  • 深度学习中的数学基础:从向量到概率的全面解析
  • 测试第三课-------自动化测试相关
  • 第十九讲 XGBoost 二分类模型案例(遥感数据识别玉米与小麦地块)
  • HTML:网页的骨架 — 入门详解教程
  • Python heapq模块
  • 【Pandas】pandas DataFrame items
  • AIGC工具平台-建筑平面图3D渲染
  • Android studio Unknown Kotlin JVM target: 21
  • macOS 上使用 Homebrew 安装和配置 frp 客户端
  • 【C++】——lambda表达式
  • 数据资产保护与数据知识产权保护有何不同?
  • JavaScript中的Transferable对象教程
  • 企业级硬盘的测试流程
  • L2TP实验(无图后补)
  • 老旧测试用例生成平台异步任务与用户通知优化
  • OOM问题排查和解决
  • Java工厂模式解析:灵活对象创建的实践指南
  • Java LinkedList深度解析:双向链表的实现艺术与实战指南
  • 【Python爬虫】简单介绍
  • 坚守17年,这件事姚明就算赔钱也在继续做
  • 受贿超8.22亿元,新疆维吾尔自治区党委原副书记李鹏新一审被判死缓
  • 著名世界语教育家、翻译家魏以达逝世
  • 长三角议事厅·周报|服务业扩大开放:长三角六城联动新探索
  • 深化应用型人才培养,这所高校聘任行业企业专家深度参与专业设置
  • 对话|棋后居文君:创造历史之后,还有继续追梦的心