C++面试题汇总

牛客c++面经汇总

C++基础

1.struct和class的区别
2.为啥需要虚函数
3.cpp多态,理解,cpp和java都是面向对象,面向对象的三大特征是封装、继承、多态。
4.说下关于c++11新特性的东西
5.简述下C++语言的特点
6.说说include头文件的顺序以及双引号""和尖括号<>的区别
7.简述C++从代码到可执行二进制文件的过程
8.说说 static关键字的作用 和java中的static的区别
9.说说数组和指针的区别
10.说说什么是函数指针,如何定义函数指针,有什么使用场景,说说C++中函数指针和指针函数的区别。
11.说说静态变量什么时候初始化?说说静态局部变量,全局变量,局部变量的特点,以及使用场景
12.说说什么是野指针,怎么产生的,如何避免?
13.说说内联函数和宏函数的区别,说说内联函数和函数的区别,内联函数的作用。
14.说说运算符i++和++i的区别 i++ 不能作为左值,而++i 可以:java中呢?
15.说说new和malloc的区别,各自底层实现原理。
16.说说const和define的区别。
17.说说const int *a, int const *a, const int a, int *const a, const int *const a分别是什么,有什么特点
18.简述C++有几种传值方式,之间的区别是什么?和java的区别

C++内存管理

1.简述C++的内存管理和java的区别
2.malloc和局部变量分配在堆还是栈?
3.程序有哪些section,分别的作用?程序启动的过程?怎么判断数据分配在栈上还是堆上?内存模型,堆栈,常量区。
4.什么是内存泄露,内存泄露怎么检测?
5.简述C++中内存对齐的使用场景

STL

1.请说说 STL 的基本组成部分
2.请说说 STL 中常见的容器,并介绍一下实现原理
3.说说 STL 中 map hashtable deque list 的实现原理
4.请你来介绍一下 STL 的空间配置器(allocator)
5.STL 容器用过哪些,查找的时间复杂度是多少,为什么?
6.迭代器用过吗?什么时候会失效?说一下STL中迭代器的作用,有指针为何还要迭代器? STL 迭代器是怎么删除元素的
7.说说 STL 中 resize 和 reserve 的区别
8.说说 STL 容器动态链接可能产生的问题?
9.说说 map 和 unordered_map 的区别?底层实现
10.说说 vector 和 list 的区别,分别适用于什么场景?vector 与 list 具体是怎么实现的?C++ 的 vector 和 list中,如果删除末尾的元素,其指针和迭代器如何变化?若删除的是中间的元素呢?
11.STL 中的 map 的实现原理
12.map 和 set 有什么区别,分别又是怎么实现的?
13.说说 push_back 和 emplace_back 的区别

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值