C++面试题

记录几个C++比较细的问题
1、虚函数表共享问题
2、空指针能访问成员函数吗? ex: A* p=nullptr;p->f();
3、sizeof(lambda表达式) 的值?
4、memset(this,0,sizeof(*this))合法吗?

更新:加入一个牛友评论的问题
5、如果在构造函数里面调用了一个该类的虚函数,会发生什么?
全部评论
cpp的终点:变成人肉编译器?
4 回复 分享
发布于 2024-09-20 23:10 上海
最后三个光子一面全问了
4 回复 分享
发布于 2024-09-19 21:42 重庆
2.空指针可以访问成员函数,不可以访问成员变量,因为存储的位置不一样
3 回复 分享
发布于 2024-09-19 18:37 广东
2. 能访问, 成员函数本质是一个普通函数加一个类的 this 指针参数, 函数本身存在 text 段, 所以类对象能直接访问, 貌似可以这样理解?
1 回复 分享
发布于 2024-10-08 09:08 北京
第二个:对象的成员变量和成员函数存放位置不同,成员变量是在对象内存内的,虚函数导致有虚函数指针这个隐式成员变量,如果空指针不涉及到成员变量和虚函数,那么即空指针并没有访问对象的内存,所以没事。 我理解的不知道对不对!
1 回复 分享
发布于 2024-09-20 15:26 陕西
sizeof(lamda表达式) 的应该会和捕获的变量类型以及数量有关吧,然后再考虑内存对齐问题
1 回复 分享
发布于 2024-09-19 21:14 四川
第一个要达到什么程度呢?就是调用继承类就指向虚表对应的位置就行了吗?
点赞 回复 分享
发布于 2024-11-17 23:39 四川
深度探索C++对象模型
点赞 回复 分享
发布于 2024-11-04 15:13 辽宁
第二个空指针是UB
点赞 回复 分享
发布于 2024-10-15 23:00 广东
我比较好奇第一个,虚函数表这个要回答到什么程度? 是说,一个类用一个虚函数表就行了,还是有更深的。
点赞 回复 分享
发布于 2024-10-09 16:21 辽宁
佬,我昨天遇到一个问,如果在构造函数里面调用了一个该类的虚函数,会发生什么,这种怎么搞呀我只知道构造函数不能是虚的
点赞 回复 分享
发布于 2024-09-21 11:28 陕西
这几个问题好难,一个也答不上来
点赞 回复 分享
发布于 2024-09-21 10:41 陕西
m
点赞 回复 分享
发布于 2024-09-21 00:47 广东
第四个被问到过,没答出来
点赞 回复 分享
发布于 2024-09-20 08:41 山东
第二个前几天我就被问到了😭
点赞 回复 分享
发布于 2024-09-19 21:32 陕西
有没有大佬给个答案
点赞 回复 分享
发布于 2024-09-19 21:03 上海

相关推荐

03-06 17:03
北京大学 C++
1.C++11 的新特性有哪些1.1说下智能指针1.1.1shared_ptr 它是线程安全的吗1.2nullptr 有什么作用,以前有 NULL,为什么要加一个 nullptr2.const 和 static 的作用2.1还有哪些其他作用,如修饰函数,修饰类里面的函数、类里面的变量。2.2声明类的时候加一个 const,能调用它里面的成员函数吗3.C++ 有哪些类型转换,如 static_cast 之类的3.1reinterpret_cast 的作用是什么3.2了解过 dynamic_cast 吗4.C++ 有哪些 STL 容器4.1vector 和 list 有什么区别5.C++ 一些网络你知道吗,epoll 你用过吗6.你用 Linux 多吗,看一些网络、磁盘 IO、CPU 性能的工具了解吗6.1那网络流量,一个节点到另一个节点的占比的工具用过吗7.进程和线程有什么区别7.1进程之间通信有哪些方式7.1.1信号量了解吗7.2线程之间有哪些通信方式7.2.1锁了解过吗,条件变量了解过吗8.TCP 和 UDP 的区别8.1TCP 和 UDP 都发送若干个网络包,都能确保完整收到这些包吗,收到的顺序对不对9.git 用的是命令还是 GUI9.1写了一些代码还没有存进去,但是另一个人提了一个版本要合进来,该怎么操作9.2git stash 有什么作用10.MySQL 的事务隔离级别有哪些11.怎么知道哪些线程占用的 CPU 比较多12.用过哪些 AI 编程工具12.1改变量的名字的时候用的惯吗13.LeetCode128 最长连续序列吓哭了,沉浸式拷打,自己掌握的还是太薄弱了,面试官人好实力又强,我菜菜😭😭😭
查看30道真题和解析
点赞 评论 收藏
分享
评论
40
222
分享

创作者周榜

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