首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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-15 23:06
门头沟学院 人工智能
我眼里的悲伤
今日晚餐:你敢信,这是一个在深圳两万多月薪人的消费。吃饭的时候,朋友问我有没有钱还他。恰好今天发工资,就还给人家了。这是因为七月份孤身来到深圳,身无分文,要租房要买生活用品,六月底生日,家里给了188作为礼物,剩下的就全用大学期间攒下的积蓄,完全不够,遂找朋友借了一万。年初,外公得癌症,家里人太腐朽,力排众议做手术,转了一万回去7月份第一个月,发了工资,就立马转给了妈妈一万。原因是家里要还贷款。8月第二个月,用了好几年的二手手机天天闪屏,(如图)已经完全不能用了,就换了个遥遥领先,然后车子的保险到期了,我续保了,前几天转了5000给妈妈,原因是她要退休需要补保险费用,但是家里没有钱补。9月的工...
码农索隆:
很认真的看完了,谢谢你和我们分享你的经历。 不谦虚的说,兄弟,你是一个很强大的人。 但我透过文字能看出你的疲惫和硬撑,要是得空,就歇歇吧,别把自己压的太死,人是会崩溃的
查看图片
上班苦还是上学苦呢?
点赞
评论
收藏
分享
09-10 18:19
门头沟学院 Java
投小米秒挂,难道是用了王腾的内推码?
不是鸽们儿?我在牛客随便找了个小米的内推码,投过去2分钟就给我挂了,难道那是王腾的内推码?
prickle*02...:
笑死我了,审核的人可能是雷军
投递小米集团等公司10个岗位
点赞
评论
收藏
分享
09-04 15:54
已编辑
西南交通大学 硬件开发
再次谢谢我发布的前两版简历中,大佬们细心的观察指导😊,我再次对自己的简历进行了更改,大学三年确实碌碌无为,没真正做到对自己有意义的事儿,过去已成必然,我希望能够基于现在的能力也能去找到属于自己的新位置,希望大家能够给我以建议,无关褒贬,不论好坏,相信现在的我亦有继续提升的可能😊
佬捞捞:
希望牛客上的各位都能在找到属于自己的位置并寻得以后的意义与方向,过自己想要的人生,享自己期盼的生活
点赞
评论
收藏
分享
09-12 10:20
黑龙江科技大学 Java
字节一面
字节一面一上来就八股框框问,考了四十分钟开始手撕手撕:用两个指针,快指针先移动k步,然后快慢指针同时移动,当快指针到达链表末尾时,慢指针正好指向倒数第k个节点
查看1道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
签完三方了,分享下我的“反向提问”技巧
3.3W
2
...
大二拿下15k量化岗和多家大厂
2.0W
3
...
小红书校招技术岗增2.5倍!课代表来总结一下这场直播吧
1.7W
4
...
出身寒微,却攥住鹅厂的入场券
1.4W
5
...
机械八股之材料力学笔面试难点与常考点整理
1.2W
6
...
无良二房东受死吧!
4518
7
...
9.15b站笔试
3532
8
...
滴滴后端oc面经总结 Java人拿到Go的云原生意向
3373
9
...
能做到吗?字节抖音电商秋招记录
3283
10
...
得物Java后端一面
3104
创作者周榜
更多
正在热议
更多
#
秋招报数:你投了多少家公司?
#
16430次浏览
149人参与
#
产品每日一题
#
59248次浏览
603人参与
#
小红书校招直播来了
#
80071次浏览
466人参与
#
上班摸鱼,你都在干些什么?
#
3508次浏览
63人参与
#
职场破冰,你们都聊什么?
#
1837次浏览
38人参与
#
为了求职,我做过的疯狂伪装
#
3495次浏览
56人参与
#
从顶到拉给所有面过的公司评分
#
1289次浏览
21人参与
#
安克创新求职进展汇总
#
46835次浏览
496人参与
#
电网笔面经互助
#
45025次浏览
427人参与
#
你面试被问到过哪些不会的问题?
#
9772次浏览
418人参与
#
你觉得早上几点上班合适?
#
80913次浏览
329人参与
#
机械笔面试考察这些知识点
#
8981次浏览
89人参与
#
秋招的嫡长offer
#
15147次浏览
144人参与
#
聊聊这家公司值得去吗
#
538769次浏览
3591人参与
#
秋招最大的收获是什么?
#
42748次浏览
348人参与
#
深信服求职进展汇总
#
221235次浏览
1751人参与
#
为什么国企只招应届生
#
196844次浏览
1212人参与
#
中广核工作体验
#
17275次浏览
63人参与
#
嵌入式岗知多少
#
52807次浏览
523人参与
#
我的第一份实习怎么找的
#
152685次浏览
1476人参与
#
当下环境,你会继续卷互联网,还是看其他行业机会
#
130386次浏览
856人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务