嵌入式面经大全(7/30)C/C++常见面试题(二)

牛客高级系列专栏:





简介

本人2020年本硕毕业于广东工业大学:嵌入式许乔丹,牛客高级专栏作者,牛客大学讲师,本科阶段搞了4年单片机、曾参加全国大学生恩智浦汽车竞赛,发表4个硬件专利。研究生阶段找了嵌入式linux的实习,毕业后拿到珠海格力,云从科技,CVTE,小米,美的,华为的嵌入式offer,签约CVTE嵌入式岗位。

在CVTE先后做过嵌入式Linux开发和安卓系统开发,参与过TV板卡、显示屏板卡、智能家居板卡、希沃网课学习机的开发。欢迎交流嵌入式或者安卓哈!

正文开始⬇️

第二章 C/C++高频面试题 (本文讲2.1.6-2.1.10)

2.1 c和c++区别、概念相关面试题

2.1.1 new和malloc的区别⭐⭐⭐⭐⭐

2.1.2 malloc的底层实现⭐⭐⭐⭐

2.1.3在1G内存的计算机中能否malloc(1.2G)?为什么?⭐⭐

2.1.4指针与引用的相同和区别;如何相互转换?⭐⭐⭐⭐⭐

2.1.5 C语言检索内存情况 内存分配的方式⭐⭐⭐

2.1.6  extern”C” 的作用⭐⭐⭐

2.1.7 extern容易忽略的知识点⭐⭐⭐⭐

2.1.8函数参数压栈顺序,即关于__stdcall和__cdecl调用方式的理解⭐⭐⭐

2.1.9重写memcpy()函数需要注意哪些问题⭐⭐

2.1.10数组到底存放在哪里⭐⭐⭐

2.1.11  struct和class的区别 ⭐⭐⭐⭐⭐

2.1.12 char和int之间的转换;⭐⭐⭐

2.1.13  static的用法(定义和用途)⭐⭐⭐⭐⭐

2.1.14  cosnt的用法(定义和用途)⭐⭐⭐⭐⭐

2.1.15const常量和#define的区别(编译阶段、安全性、内存占用等) ⭐⭐⭐⭐

2.1.16  volatile作用和用法 ⭐⭐⭐⭐⭐

2.1.17有常量指针 指针常量 常量引用 没有 引用常量⭐⭐⭐

2.1.18没有指向引用的指针,因为引用是没有地址的,但是有指针的引用⭐⭐⭐

2.1.19c/c++中变量的作用域⭐⭐⭐⭐⭐

2.1.20 c++中类型转换机制?各适用什么环境?dynamic_cast转换失败时,会出现什么情况?⭐⭐⭐

2.2 继承、多态相关面试题 ⭐⭐⭐⭐⭐

2.2.1继承和虚继承 ⭐⭐⭐⭐⭐

2.2.2多态的类,内存布局是怎么样的 ⭐⭐⭐⭐⭐

2.2.3被隐藏的基类函数如何调用或者子类调用父类的同名函数和父类成员变量 ⭐⭐⭐⭐⭐

2.2.4多态实现的三个条件、实现的原理 ⭐⭐⭐⭐⭐

2.2.5对拷贝构造函数 深浅拷贝 的理解 拷贝构造函数作用及用途?什么时候需要自定义拷贝构造函数?⭐⭐⭐

2.2.6析构函数可以抛出异常吗?为什么不能抛出异常?除了资源泄露,还有其他需考虑的因素吗?⭐⭐⭐

2.2.7什么情况下会调用拷贝构造函数(三种情况)⭐⭐⭐

2.2.8析构函数一般写成虚函数的原因⭐⭐⭐⭐⭐

2.2.9构造函数为什么一般不定义为虚函数⭐⭐⭐⭐⭐

2.2.10什么是纯虚函数⭐⭐⭐⭐⭐

2.2.11静态绑定和动态绑定的介绍⭐⭐⭐⭐

2.2.12 C++所有的构造函数 ⭐⭐⭐

2.2.13重写、重载、覆盖的区别⭐⭐⭐⭐⭐

2.2.14成员初始化列表的概念,为什么用成员初始化列表会快一些(

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

嵌入式/C++面试题解析大全 文章被收录于专栏

#承诺提供免费技术答疑# 该专栏是我校招阶段整理的关于“嵌入式面经”的111道题目,“C/C++软件开发岗位”也可以参考下。涵盖了大多数嵌入式/软件开发岗位常见基础面试题,题目来源是牛客网各大大厂的面经,答案是我逐个查阅资料,是嵌入式面试最常见的题目和答案。订阅即赠送简历模板、超大笔试面试真题大礼包、内推机会,需要的同学点击我头像私信即可!

全部评论
C中引用C++中的全局函数时,C++的头文件需要加extern “C”。这句话有反了吗?应该是C++中引用C中的全局函数吧?
1 回复 分享
发布于 2020-09-16 16:35
memcpy除了考察内存重叠还需要考虑性能。比如32位系统一次传递4个字节,提高效率。
1 回复 分享
发布于 2020-07-23 00:28
__stdcall的函数在返回时会自动清除堆栈中的参数;__cdecl的函数在返回时不会自动清除堆栈中的参数,清除工作由调用者完成。
4 回复 分享
发布于 2020-08-08 12:42
void *Memcpy(void *dst, const void *src, size_t1, size)应该是 void *Memcpy(void *dst, const void *src, size_t size)吧?
1 回复 分享
发布于 2020-08-01 10:42
关于c和c++混合编译:https://www.cnblogs.com/MrYuan/p/4735952.html
1 回复 分享
发布于 2020-07-14 22:15
extern C 你说反了把
点赞 回复 分享
发布于 2021-03-14 11:47
2.1.6 extern”C” 的作用 解析的第五行末尾:则c++编译器会按照C语音编译器 ,C语音编译器
点赞 回复 分享
发布于 2020-09-05 21:10
铁子给力嗷
点赞 回复 分享
发布于 2020-09-03 01:23
“固定数组在类中分配是在堆中的”关于这一点我有些疑问,如果是vector这种容器的话,那确实数据是存在堆上,容器对象本身在栈上,但是一般的输入如果不是new的话应该还是在栈上的,否则这个数组的长度应当是不需要再编译时制定的,但是如果声明int a[n]的话,还是需要n是const类型。 我在VS2019上做了实验,类中直接分配了long long a[100000000],提示: 严重性 代码 说明 项目 文件 行 禁止显示状态 警告 C6262 函数使用了堆栈的“800000000”个字节: 超过了 /analyze:stacksize '16384'。。此分配针对的是编译器为“class myClass”(第 206 行)生成的临时项。 请考虑将某些数据移到堆中。 ConsoleApplication1 E:\TEST\TEST\CONSOLEAPPLICATION1\CONSOLEAPPLICATION1.CPP 206 所以似乎还是在栈上,是我理解错了么,还是这个和编译器有关系?
点赞 回复 分享
发布于 2020-07-15 00:54
铁子给力嗷
点赞 回复 分享
发布于 2020-06-06 17:34
铁子给力嗷
点赞 回复 分享
发布于 2020-06-04 21:19
铁子给力嗷
点赞 回复 分享
发布于 2020-04-07 22:42

相关推荐

05-09 13:22
门头沟学院 Java
点赞 评论 收藏
分享
强大的马里奥:我初中同学,没上高中,搞直播,现在提奔驰S450了
点赞 评论 收藏
分享
评论
23
20
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务