首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
rogn
武汉大学 C++
发布于湖北
关注
已关注
取消关注
m
@宁宁天下第一:
日常实习C++面经汇总与教程
最近忙了大概一个月,终于找到实习了,这里把自己面试过程遇到的问题记录一下。ps:很多东西我之前都写过文章,所以重复的地方就直接贴上过去的文章的链接了。这里只放上有关C++的内容,其它的例如项目啊,编译链接工具的使用就因人而异了。C++中的多态以下是一个常见的多态的场景struct A { virtual void foo() = 0;};struct B : A { virtual void foo() { cout << "this is B\n"; }};struct C : A { virtual void foo() { cout << "this is C\n"; }};struct D : A { virtual void foo() { cout << "this is D\n"; }};int main() { vector<A*>v = { new B{},new C{},new D{} }; for (auto& it : v) { it->foo(); }}这里我们用到了虚函数严格鸽:C++虚函数表的位置——从内存的角度对于C++中对象的内存模型,我的建议是用C语言模拟一个严格鸽:C语言实现虚函数/继承/封装这里一个经常遇到的问题,为什么我们说虚函数慢?考虑到,函数在执行的时候,需要进行跳转(汇编的角度而言就是动cs:ip 而虚函数,需要先去虚函数表里面,然后在跳转到相应的函数上,也就是跳转的次数多了,对cache不友好。但是,最重要的是,虚函数不能进行内联优化。请记住,C++的编译器的优化水平很高,但是对于虚函数这种“运行期”确定的函数,是不能依靠编译器进行编译优化的。这里提到了,运行期,和编译期。这两个概念在后面也会提到。那么如何解决这个问题呢?我们可以使用编译期多态来CRTP来解决。严格鸽:现代C++学习—— CRTP 编译期多态(CRTP不是万能的,有些东西必须是运行期的智能指针智能指针的实现就是RAII现代C++如果非要说是C with xxx的话,那么就是 C with RAII严格鸽:现代C++学习—— 什么是RAII严格鸽:现代C++学习 —— 为什么需要std::move至于智能指针的具体实现,网上有很多,大家自己去看就可以了。谈及智能指针,最好也谈以下所有权的概念例如,我现在有个资源,然后我有个函数,我是选择把所有权给这个函数啊,还是把所有权留在原来的作用域。(这个内容在上面的文章就有提及。模板模板就是面向编译器的编程,我们通过编写模板相关的代码,让编译器帮我们根据提供的类型,生成对应的代码。另外,C++的类型系统是十分强大的,所以有关模板的内容希望大家好好学习。C++模板学习实践 (这是个专栏,内容可能比较多,看是看完肯定有收获的另外,有关模板的发展(可以我的文章里面的模板元都是const static 这种比较old的。首先是模板变量和模板类型,过去我们需要::value,::type 现在可以直接定义了。对于标准库,_v 就是 ::value , _t 就是::type ( 所以学一学old版本的很有帮忙的还有就是constexpr 函数,对于编译期计算,可以直接constexpr 函数解决。另外就是C++20的概念与约束了过去我们需要用 严格鸽:现代C++学习——模板SFINAE 来表示一个鸭子类型。鸭子类型:我希望一个类型具有这样的变量,这样的函数。。。 例如下面我们就约束了类型T是一个int或者一个具有size函数len成员变量的类型。template<typename T>concept is_int = is_same_v<T, int>;template<typename T>concept need = requires(T x) { x.size(); x.len;};template<typename T>requires(is_int<T> || need<T>)void foo(T x) {}int main() { foo(1); struct A {void size();int len;}; foo(A{}); struct B { void Size(); int Len; }; foo(B{});//编译失败,ide会报错}上面是几个经常被问道的内容,属于基础了,下面放上几个杂项。lambda严格鸽:c++函数进化史 (函数,函数指针,function,仿函数,lambda)lambda编译器帮我们生成的匿名的仿函数variantvariant是可以析构的union严格鸽:C/C++ union 使用教程 (常见操作与缺陷)严格鸽:现代C++学习——实现多类型存储std::variant类型擦除在问std::any的实现的时候问的。在C语言总,一般是用void* ,然后自己维护一个type严格鸽:现代C++学习——实现动态类型std::any模板元编程就让写了个斐波那契数列但是你可以归并排序!严格鸽:模板元 编译期 链表 归并排序多线程问了一些实现什么的原子类型是用cas (compare and swap) 实现的。其它的锁都是基于原子类型的操作std::call_once之前没有听说过std::call_once - cppreference.compimpl为了加快编译时间的,但是我没这么用过(编译时间不是用来摸鱼的吗有个面试官说过,可以用编译参数来控制。堆,栈空间堆是os帮我们维护的,栈空间编译器帮我们维护了。注意不要写出这样的代码int* foo() { int arr[100]; return arr;}异常安全没有怎么用过(最多几千行的代码,用啥异常啊)可以了解下std::optional 与 std::expectedEffective C++ 29:追求异常安全的代码关于noexcept,可以看下这个代码void foo1() noexcept;void foo1() noexcept(noexcept(foo1())) {}void foo2();void foo2() noexcept(noexcept(foo2())) {}int main() { constexpr bool x = noexcept(foo1()); constexpr bool y = noexcept(foo2());}有一些忘了
点赞 102
评论 16
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
12-13 17:29
内蒙古工业大学 Java
复盘一下之前面试里面的问题(被挂的真正原因)
本来周一入职变成周三入职了,好像是因为手机号录入错误了,我靠我当时和那个hr领导说话我直接来了一句啥意思后来想想感觉好**,和转正的hr聊才知道,hr领导是什么总我靠,好难受呀,后来hr说让我下周三入职,和转正的hr聊,他说住房一个月得1200,坏处是贵,好处是离公司近,只需要步行10分钟,本来是问人家在哪里租房的,人家说住公司的房子,才了解到公司的房子是给转正的员工住的,,每天按最低标准吃饭都要30(拼好饭),,在想什么时候走,下周一应该改完录入的错误的手机号应该就能走流程了,然后周三入职,想先过去玩两天,因为聘用意向书下来了,但是又怕出意外,想着要不要明天走,但是直接过去玩的话感觉也不尽兴...
点赞
评论
收藏
分享
昨天 16:59
已编辑
浙江海洋大学 安卓
双非鼠鼠0实习0竞赛闯秋招的一年,重头再来我不会选这条路了
bg海岛双非本,专业机器人,公元2025年1月1日 初始属性:啥也不会 去年年底的时候膝盖伤残了,本来自己的空余时间就是户外运动。这下好了,鼠鼠被粘鼠板黏住了,动不了,只能歇着。过年那几天越想越焦虑啥也不会,没有竞赛,没有项目,没有实习。哦当然这都是后话了,那时候连实习和项目是啥都不知道,啥是牛客?更不知道了。然后因为想到上个学期学校里教过STM32,晃晃荡荡点开了江科大的视频,“hello,大家好,欢迎大家观看STM32入门教程......."其实从现在来看,这个时候2025年才算开始了。然后晃晃悠悠又看了FreeRTOS,过年过完之后,自己又买了一本书是关于HAL库的RTOS,整...
2025年终总结
点赞
评论
收藏
分享
10-30 14:19
湖南财政经济学院 驱动开发
大意了
错了四个题嘛
点赞
评论
收藏
分享
12-04 18:07
已编辑
门头沟学院 Java
后端实习简历
花了小三位数修改的简历内容,但自己投递,仍是没有回复,是最近没有日常实习岗位了吗,八股文和力扣也在努力准备中,佬们帮忙看看,提提高见12.1🐮友们,手里有一个低代码实习项目,但我只改过前后端bug,不怎么熟悉,花时间搞懂一些简历代码和面试问题?还是重新写一个12306,感觉12306里面技术栈和Javaguide知识点有些很像,之前看了的知识点挺想做做12306看到底怎么个事儿12.4谢谢大家宝贵的意见,我重新修改完善了一些地方P2,争取把简历中内容早点弄明白
程序员花海_:
实习写的看起来像项目了
点赞
评论
收藏
分享
12-17 15:34
浙江大学 Java
Redis怎么实现延时消息?
图解Redis-牛客面经...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
勇气与抉择
2.1W
2
...
数字马力
9262
3
...
2025年12月16日 多年之后 我又梦到那天
8928
4
...
2025,收获良多的一年
7481
5
...
“我希望你把我当成资源,而不是老师。”
5233
6
...
2025这一年真是辛苦了
5118
7
...
单9机械结构硕的求职大结局
4138
8
...
2025年度总结-成长
3727
9
...
数字马力开奖啦
3602
10
...
我从反复确认,走向不再自证
3490
创作者周榜
更多
正在热议
更多
#
实习简历求拷打
#
2018次浏览
41人参与
#
考研失败就一定是坏事吗?
#
197459次浏览
1241人参与
#
秋招被挂春招仍然能投的公司
#
4221次浏览
69人参与
#
mt对你说过最有启发的一句话
#
25320次浏览
322人参与
#
今年秋招你收到了多少封邮件?
#
15254次浏览
198人参与
#
摸鱼被leader发现了怎么办
#
92228次浏览
601人参与
#
秋招特别不鸣谢
#
11654次浏览
155人参与
#
巨人网络工作体验
#
70916次浏览
502人参与
#
什么是优秀的实习经历
#
5438次浏览
173人参与
#
工作中遇到的歹人
#
21461次浏览
259人参与
#
选实习,你更看重哪方面?
#
9402次浏览
182人参与
#
工作后,你落下了哪些病根
#
9634次浏览
167人参与
#
职场捅娄子大赛
#
436446次浏览
4175人参与
#
机械/制造每日一题
#
79863次浏览
1409人参与
#
被上班搭子“传染”了哪些习惯
#
3972次浏览
78人参与
#
找工作有哪些冷知识
#
203473次浏览
2594人参与
#
2025,我想......
#
80475次浏览
640人参与
#
招聘要求与实际实习内容不符怎么办
#
143081次浏览
862人参与
#
打工人的精神状态
#
122829次浏览
1426人参与
#
工作后明白的那些道理
#
43968次浏览
678人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务