首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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());}有一些忘了
点赞 101
评论 16
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
09-30 10:54
韶音科技_产品经理(准入职员工)
韶音科技内推,韶音科技内推码
客观聊一下韶音入职一个月感觉,个人评价感受:个人岗位偏工程技术,整体感受还好,后续持续更新。优势:1.工作氛围:1.1 整体还是比较好,领导的话还是比较和蔼,工作上的话针对具体项目推进难点和具体情况可以直系上级沟通,基本都能得到比较正向的回应和支持。针对项目验证还未落地情况也基本会支持验证推进,和一些稍微大一些企业对比的话,这边还是比较鼓励尝试新的工艺&流程,个人想法更能去实践与铺开。1.2 针对于工作强度的话,这边也没有强制要求加班,新产品项目导入验证难免会有问题需求加班(即使华为的话在新品上线基本会有),但针对一些国企为了数据好看要求强制加班的话这边基本不存在。加班的一些待遇也确实...
韶音科技公司氛围 614人发布
点赞
评论
收藏
分享
09-29 13:17
vivo_数据算法工程师(准入职员工)
联想内推,联想内推码
笔试🔻首先是一点都不卷 弹性工作制度,基本下午六点半公司没有什么人,这是让我最喜欢也是同龄人最羡慕的地方; 双休+早10上班/晚6下班+节假日可提前半天下班 没有办公室政治,不存在明争暗斗 🔻联想的福利 五险一金、企业年金、员工内购股票 节假日的各种礼盒 旅游补贴:工作满五年,1.5w/年的旅游补贴 带薪年假:15天带薪年假,随着工龄的增加 带薪病假和生育假:很体贴员工,尊重女性! 🔻团队氛围超级nice 部门的同事都超级好,定期团建聚餐以及旅游 联想就是家文化,和其他部门还有跟全国其他区域的伙伴关系都特别好,大家都很友好亲切,这个也是我很喜欢的一点 🔻新人成长机会 因为部门都是偏长...
联想公司福利 1339人发布
点赞
评论
收藏
分享
09-28 14:04
门头沟学院 嵌入式软件开发
入职一天跑路
来到公司的第一天没有人给任何的入职介绍,就老板指了一下工位,之后就在工位上熬了一天(问主管和同事一些基本问题也不搭理我),下班时间到了想着不能第一个走,就在公司多呆了一会,发现同事都猛猛加班到晚上十点多,果断跑路,去了另一家给offer的公司。
入职跑路最快的一次经历
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
没见过工贼+背刺的可以来看下这位
1627
2
...
“所有人”都在二十多岁痛哭,哭着笑着回忆了我的七年
1627
3
...
秋招的国庆过的也很压抑
855
4
...
小红书一面
767
5
...
不想干互联网,有什么别的出路😭
628
6
...
minimax前端一面&二面
573
7
...
大佬求帮选offer
406
8
...
牛可乐国庆旅行篇-七里山塘
296
9
...
26届计算机秋招阶段性总结
296
10
...
牛可乐国庆旅行篇-黄山
293
创作者周榜
更多
正在热议
更多
#
AI创作大赛:牛可乐的国庆之旅
#
12600次浏览
188人参与
#
材料专业可以靠半导体脱坑吗?
#
22995次浏览
129人参与
#
深信服秋招来了
#
270617次浏览
2904人参与
#
通信硬件人社招/春招/实习投递现状
#
29282次浏览
946人参与
#
国庆假期,给大脑放个假
#
1464次浏览
22人参与
#
大学四年该怎么过,才不算浪费时间?
#
12004次浏览
72人参与
#
携程求职进展汇总
#
636128次浏览
4647人参与
#
五一假期,你打算“躺”还是“卷”?
#
80327次浏览
715人参与
#
你小时候最想从事什么职业
#
121036次浏览
1890人参与
#
海康威视求职进展
#
106158次浏览
515人参与
#
网申一定要掌握的小技巧
#
12909次浏览
74人参与
#
2025,我想......
#
72873次浏览
606人参与
#
长江存储求职进展汇总
#
57143次浏览
227人参与
#
国庆放假,你还会投简历吗?
#
9211次浏览
106人参与
#
牛友的国庆旅行碎片
#
6483次浏览
55人参与
#
国庆放假,你还会主动学习吗?
#
13580次浏览
67人参与
#
查收我的offer竞争力报告
#
215050次浏览
1397人参与
#
你认为工作的意义是什么
#
183906次浏览
1148人参与
#
你认为哪个岗位找工作最卷
#
51081次浏览
228人参与
#
设计人如何选offer
#
151508次浏览
795人参与
#
距离放假还有_天,我已经……
#
14950次浏览
184人参与
#
教师节,你送祝福了吗
#
5841次浏览
52人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务