首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
05-20 10:21
快手_机器学习算法部_机器学习算法工程师(准入职员工)
快手内推-快手内推码
入职手手一周啦,刚入职就领取了好多礼包,有公牛插排,罗技鼠标,各种数据线(目前用不到的一堆乱七八糟的线),笔记本和笔,据实习同事说每个月都可以免费领取 ,有免费的咖啡可以喝,今天喝的卡布奇诺(上班人的救命稻草),还提供免费的雪糕,部门的mt和ld给准备了好多零食! 薪资待遇:看岗位和学历 工作时间:看部门,我的部门是10-8,午休2小时,晚饭6-7,上班时间7h~,工作很轻松,不会加班,能学到不少东西 餐补:入职当天就给180餐补打到卡里,工区的餐饮都能刷卡,最喜欢的就是逛七鲜便利店(不花钱的感觉尊嘟不太一样~),还有巴黎贝甜(甜品🍮脑袋的福音)和喜茶!每天八点下班打卡30餐补自动到账,感觉...
快手公司福利 452人发布
点赞
评论
收藏
分享
05-21 16:20
湖南大学 运营
得物嘲讽字节,结果回旋镖射中自己
前脚刚嘲讽完字节,拉踩了一波后脚就被自家员工爆料,内部会对“投入度”进行考核排名所谓“投入度”,就是得物会统计员工键盘鼠标活动时间、飞书活跃时长、飞书文档活跃时长、WiFi/VPN连接时长等。以此评估员工的工作投入度,并进行排名,投入度低的员工会被警告。据说,得物从2023年下半年开始应用这套管理工具,将绩效和产出及投入度绑定,而且会拉全集团同职级的人来对比数据。并且将在Q2季度起,将投入度作为评定高绩效和晋升的重要考核因素。但只考核牛马打工人,领导不参与哈~但说真的,把绩效和码字敲键盘的强度挂钩,一定会有人作弊刷时长,员工可以通过“假装忙碌"来刷数据,最后就是“劣币驱逐良币”,得不偿失。大厂...
Xanadu13:
那只能狠狠写自己的开源项目了
点赞
评论
收藏
分享
04-07 16:13
南阳理工学院 前端工程师
麻了
本来找不到实习就烦,这骗子还消耗我的精力。😭
我的实习日记
点赞
评论
收藏
分享
04-07 22:40
RightCapital_前端工程师(实习员工)
27届前端这个简历有救吗
真得被挂麻了😭😭,投了100多家只有一家小厂约面了,其他基本都是简历挂连面试机会都不给,求牛友给点建议
陈逸轩1205:
9✌ 还不随便面
点赞
评论
收藏
分享
05-18 10:21
美团_大数据开发
帮老爸从200元套餐 改成 8元保号套餐
有一说一,现在联通是很坑爹的。很喜欢打电话给父母这一辈的中老年人办各种套餐或者改这种套餐。之前一直不知道,用的一直是200块的套餐(每个月都超出)中老年人基本上都不知道什么手机营业厅、网上修改套餐。什么套餐便宜所以很容易被骗。段子手的解决方案:1.把200元套餐(包含各种乱七八糟的增值服务)改成了8元保号套餐具体操作如下:2.把自己的高性价比流量副卡给父母。同时把父母用的手机号绑定营业厅。能实时监控使用费(流量+话费)划重点:投诉工信部、投诉工信部、投诉工信部。一定要说这个,短平快,不拉扯。总结: 以上一套组合拳打下来以后,基本解决了父母高手机资费问题。同时还能实时监控到父母的使用资费以免被...
要冲外企的95后很想润:
是的,现在乱七八糟的服务真的受不了,还天天给我打电话问我是否升级服务,现在给我打电话我都一口回绝了,免费升级也不要
牛客创作赏金赛
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
以Mentor视角,更喜欢有这些沟通技巧的实习生
1.8W
2
...
得物暑期实习oc
1.6W
3
...
来算一算你的offer究竟到手工资多少!(详细教程)
1.0W
4
...
悟已往之不谏,知来者之可追
9625
5
...
【26届四段大厂】实习爆炸产出方法论 2.0
8193
6
...
腾讯云智一面面经
7086
7
...
双非本秋招字节转正失败春招重新拿下字节和腾讯
6394
8
...
28届现在真的找不到日常吗?
4812
9
...
暑期实习后,如何完成学生到职场人的身份转换?
4640
10
...
💗 521凉面筋真好吃~记录一把本小女孩人生第一面
4188
创作者周榜
更多
正在热议
更多
#
毕业季,给职场新人一些建议
#
27591次浏览
461人参与
#
你的房租占工资的比例是多少?
#
23162次浏览
255人参与
#
我的求职总结
#
30395次浏览
502人参与
#
计算机专业还有必要去大厂卷吗
#
20727次浏览
111人参与
#
我的实习日记
#
2446158次浏览
25463人参与
#
薪资一样,你会选择去大厂还是小公司
#
16813次浏览
103人参与
#
辞职之后最想做的一件事
#
11605次浏览
167人参与
#
你见过最离谱的招聘要求是什么?
#
188757次浏览
1404人参与
#
晒一晒你收到的礼盒
#
62869次浏览
376人参与
#
选offer应该考虑哪些因素
#
21218次浏览
305人参与
#
金蝶求职进展汇总
#
44167次浏览
242人参与
#
非技术岗薪资爆料
#
355924次浏览
2748人参与
#
Offer比较,求稳定还是求发展
#
49679次浏览
240人参与
#
你怀疑过自己的专业选择吗?
#
17600次浏览
201人参与
#
为了秋招你都做了哪些准备?
#
11154次浏览
166人参与
#
你想吐槽公司的哪些规定
#
17871次浏览
68人参与
#
工作中的卑微时刻
#
9158次浏览
56人参与
#
第一份工作应该只看薪资吗
#
139099次浏览
1462人参与
#
我的工作日记
#
99248次浏览
1276人参与
#
秋招想进国企该如何准备
#
58589次浏览
376人参与
牛客网
牛客企业服务