环球时讯:C++面试八股文:技术勘误

发布时间:2023-07-02 05:40:23     来源:博客园

不知不觉,《C++面试八股文》已经更新30篇了,这是我第一次写技术博客,由于个人能力有限,出现了不少纰漏,在此向各位读者小伙伴们致歉。

为了不误导更多的小伙伴,以后会不定期的出勘误文章,请各位小伙伴留意。

在《C++面试八股文:C++中,设计一个类要注意哪些东西?》一文中,


【资料图】

#include struct Foo{};struct Goo{    void f1(Foo& f){std::cout <<"non const function" << std::endl;}    void f1(const Foo& f){std::cout <<"const function" << std::endl;}};int main(int argc, char const *argv[]){    Foo foo;    Goo goo;    goo.f1(foo);    //无法通过编译,error: ‘void Goo::f1(Foo)’ cannot be overloaded with ‘void Goo::f1(Foo)’    return 0;}

这里的例子f1f2方法的参数应该是Foo fconst Foo f,这才是顶层const。在此感谢知乎用户 退乎 的提醒。

在《C++面试八股文:std::string是如何实现的?》一文中,

有std::string重载的相关问题,我已经在 技术勘误:《C++面试八股文:std::string是如何实现的?》 一文中做了详细说明,在此再次感谢知乎用户 庄严 的指正。

在《C++面试八股文:override和finial关键字有什么作用?》一文中,final 误拼为 finial,感谢知乎用户 DiaoYan 的指正。

同时,这张内存布局图也有错误,

应该是这样的:

感谢知乎用户 清越 的指正。

在《C++面试八股文:std::vector了解吗?》一文中,

面试官:push_backemplace_back有什么区别?

除了文中所说的不同点,还要一点:emplace_back可以传入构造函数构造对象,而push_back只能拷贝或移动对象。

感谢知乎用户 选择公理 的指正。

在《C++面试八股文:std::vector和std::list,如何选择?》一文中,

以下代码的输出是什么?

#include #include int main(int argc, char const *argv[]){    std::list li = {1,2,3,4,5,6};    for(auto it = li.begin(); it!= li.end(); ++it)    {        if(0 == *it % 2) li.erase(it);    }    for(auto& i : li) std::cout << i << " ";    std::cout << std::endl;}

这里给出的答案是有问题的:

erase函数返回下一个有效迭代器,所以可以把if(0 == *it % 2) li.erase(it)修改为if(0 == *it % 2) it = li.erase(it)来解决这个问题。

这里的erase返回的是下一个迭代器,然后++就是下下个迭代器,跳过了下个迭代器。但是上面代码中%2 == 0 也会跳过下个奇数,所以无法暴露这个问题。应该改成:

#include #include int main(int argc, char const *argv[]){    std::list li = {1,2,3,4,5,6};    auto it = li.begin();    while(it!= li.end())    {        if(0 == *it % 2)         {            it = li.erase(it);        }else{            ++it;        }    }    for(auto& i : li) std::cout << i << " ";    std::cout << std::endl;}

感谢知乎用户 潸然 的指正。

在《C++面试八股文:什么是构造函数?》一文中,

面试官:可以使用virtual修饰构造函数吗?

二师兄:不可以,因为构造函数在对象构造阶段调用,虚表尚未建立,所以无法调用虚函数实现多态。

这里的描述是有问题的,虚表是在编译期生成,在构造函数执行时,可能还没有被初始化。所以无法调用虚函数实现多态。

感谢知乎用户 handsome奶酪 的指正。

在《C++面试八股文:什么是空指针/野指针/悬垂指针?》一文中,

面试官:你知道0/NULL/nullptr三者之间的区别吗?

二师兄:虽然三者都能定义空指针,但三者类型不同。

二师兄:0int类型,NULL在g++下是一个宏定义,而nullptr是有类型的;

#define NULL ((void *)0)

这里的定义也是有问题的,完整的定义如下:

#if defined (_STDDEF_H) || defined (__need_NULL)#undef NULL /* in case  has defined it. */#ifdef __GNUG__#define NULL __null#else /* G++ */#ifndef __cplusplus#define NULL ((void *)0)#else /* C++ */#define NULL 0#endif /* C++ */#endif /* G++ */#endif /* NULL not defined and  or need NULL. */#undef __need_NULL

GCC11下,是 __null, 类型是long。所以sizeof(NULL) == 8

再再再次感谢 庄严 大佬的指正。

感谢小伙伴们的的反馈,这对我来说非常宝贵。不仅帮助我改正了文章中的错误,也让我有机会更新和修正自己的知识储备库。

C++的标准繁杂,不同版本的标准可能有所出入。同时不同编译器对标准的实现也不尽相同,这增加了C++学习者的负担。

前路坎坷,吾辈不可因为荆棘密布望而却步。

关注我,带你21天“精通”C++!(狗头)

标签:

精彩推送

莲动下渔舟配图(莲动下渔舟出自哪首诗)

来为大家解答以上问题。莲动下渔舟配图,莲动下渔舟出自哪首诗这个很多

2023-07-02

badlanders登录教程(Badland)-天天快报

相信目前很多小伙伴对于Badland都比较感兴趣,那么小编今天在网上也是

2023-07-02

石家庄高新区太行大街小学举行六年级毕业典礼 全球聚焦

6月29日,以“成长、感恩、展望”为主题的石家庄高新区太行大街小学六

2023-07-01

普及金融知识寓教于乐 深圳国寿举办“亲子趣味赛”

读创 深圳商报首席记者吴蕾7月1日,一场集绿色健康、亲子互动、金融宣

2023-07-01

紫光一键重装系统步骤_紫光一键重装系统

1、你好,如果使用一键重装系统的工具,建议你使用白云一键重装系统工

2023-07-01

环球时讯:C++面试八股文:技术勘误

不知不觉,《C++面试八股文》已经更新30篇了,这是我第一次写技术博客

神庙经济|今日热文

1、在苏美尔城邦生活中,神庙是城邦经济的中心。2、神庙在社会经济中的

莲动下渔舟配图(莲动下渔舟出自哪首诗)

来为大家解答以上问题。莲动下渔舟配图,莲动下渔舟出自哪首诗这个很多

有关春天的好词好句摘抄_有关春天的好词好句

1、描写春天的诗句雨打梨花深闭门,忘了青春,误了青春。2、____唐寅《

环球新资讯:关于眼睛的科普知识

1、1.不在强烈的或太暗的光线下看书、写字。2、读写姿势要坐端正,眼

全国最大跨径黄河大桥!齐州黄河大桥一期工程开工|重点聚焦

齐鲁晚报·齐鲁壹点记者李梦晴7月1日,齐州黄河大桥一期工程开工仪式在

侠客的定义 侠客的意思侠客的意思是什么意思-焦点报道

1、释义:旧称急人之难、出言必信、锄强扶弱的豪侠之士。2、唐元稹《侠

坚持的英文形容词(坚持的英文)

来为大家解答以上的问题。坚持的英文形容词,坚持的英文这个很多人还不

评论丨起哄跳楼者“不跳不是人”,为何没有追刑责 独家焦点

逝者系跳楼身亡,在无证据证明系他杀的情况下,就不是刑事案件,因而也

badlanders登录教程(Badland)-天天快报

相信目前很多小伙伴对于Badland都比较感兴趣,那么小编今天在网上也是

德州交警支队_德州交警网上车管所官网 每日速看

1、把你的车架号和发动机号输入电脑,确认无误后开始自编号,如果没有

低效用地变身“高产田”,宁波这样破题 焦点报道

低效用地变身“高产田”,宁波这样破题,低效,存量,高产田,宁波市

华夏典当行品真阁官网商城_华夏典当行品真阁

1、华夏典当在我们典当业也算是规模比较大的,特别是民品这块做的相当

股票如何做T解套?

股票如何做T解套?,补仓,股价,股民,股票,被套,解套,散户投资者

哪个品种的虾米最好?

全国范围来看是大连金钩虾米最有名了。虾米也叫虾仁,它是海产白虾、红

【环球时快讯】AirPods Pro 2更新 提升巨大 耳机也开始卷了

苹果于去年秋天推出了AirPodsPro2,而这款耳机目前开始了三大重要更新

石家庄高新区太行大街小学举行六年级毕业典礼 全球聚焦

6月29日,以“成长、感恩、展望”为主题的石家庄高新区太行大街小学六

每日观点:献礼“七一” 河北书画家绘百米书画长卷

央广网石家庄7月1日消息(见习记者王艺霖)7月1日,“骏彩华章——庆‘

刚刚 徐州出台商品住房补贴政策!

大徐刚刚得到消息,为支持改善性购房需求,促进我市房地产市场健康平稳

环球今日报丨实施细则来了!涉及2.9万余套公租房!

实施细则来了!涉及2 9万余套公租房!,配租,户籍,公租房,低收入,保障性

2022年,美国GDP为25.47万亿美元,我国需多久才能达到这个水平?|焦点快报

2022年,美国GDP为25 47万亿美元,我国需多久才能达到这个水平?,美国,

天天热消息:别跑空!明天长治这里继续暂停办理业务!

别跑空!明天长治这里继续暂停办理业务!,长治市,党总支,不动产登记,暂

普蕊斯助力中国医药研发创新与国际化|环球消息

作为国内最早成立的SMO(临床试验现场管理组织,SiteManagementOrganiz

厦门地铁本月起“调图” 1号线行车间隔缩至4分钟内|世界实时

厦门地铁“调图”后,乘客候车时间有望进一步缩短。(厦门日报记者林钦

全球今热点:道氏技术:接受长江证券等机构调研

道氏技术(SZ300409,收盘价:12 57元)发布公告称,2023年6月中信策略

中国国际问题研究院院长徐步在华盛顿会晤美助理国务卿康达

来源:媒体滚动来源:中国国际问题研究院6月30日,中国国际问题研究院

普及金融知识寓教于乐 深圳国寿举办“亲子趣味赛”

读创 深圳商报首席记者吴蕾7月1日,一场集绿色健康、亲子互动、金融宣

香奈儿可可小姐香水有几款(香奈儿可可小姐香水)_全球热门

导读1、香奈儿可可香水(CocoMademoiselle)可可香水清新、精确的东方调

2023年上半年厦门房企销售排行榜(附CRIC解读) 全球报资讯

2023年上半年厦门房企销售排行榜(附CRIC解读),商品房,去化率,刚需客,

中达证券:销售复苏势头转弱,多地下调房贷利率|讯息

中达证券:销售复苏势头转弱,多地下调房贷利率,房贷利率,一线城市,中

世界速读:天津调整住房公积金缴存额!就从7月1日开始!

天津调整住房公积金缴存额!就从7月1日开始!,天津市,大运河,缴存基数,

全球视讯!世界最大液态空气储能示范项目在青海开工建设

【世界最大液态空气储能示范项目在青海开工建设】1日,由中国绿发投资

为还债务 重庆赛诺转让两个药品批文给海南海药

为还债务重庆赛诺转让两个药品批文给海南海药,药品,金赛,口服液,海南海

26.9亿元可再生能源补贴下达 专家:有助于推动解决资金缺口

财政部近日下发《2023年可再生能源电价附加补助地方资金预算的通知》(

【环球聚看点】无锡市质量强市建设暨2022年度市长质量奖颁奖大会举行

6月29日,无锡市质量强市建设暨2022年度市长质量奖颁奖大会举行,现场

天天快报!江苏泰州:盘活低效地开拓新空间,让“寸土生寸金”

一边是新的项目用地紧张,一边是少数拿地企业自身经营不善,靠厂房出租

欢爱(四)abo/忘羡/谁抢了我的小坤泽,他哪里去了/白切黑羡/病娇占有欲湛

太子脚步向床边靠去,抚摸魏无羡的手:“美人,终于能这么近距离看你了

江苏无锡:旧厂房“长”出新产业,让工业遗产“活起来”“火下去”

无锡市梁溪区黄巷街道梨庄社区唐韵梨花智慧云产业园内,一家传媒公司的

江苏无锡:打造“3公里充电服务圈”,助力绿色低碳出行-当前速递

说起充电场站的用途,大家的第一反应是“去那里充充电”。其实,随着车

无锡探索“定向+专题”人民建议征集模式,让“金点子”结出更多“金果子”

29日从无锡市信访局获悉,今年,无锡首次探索“定向+专题”人民建议征

天天热讯:晋级决赛!女篮亚洲杯中国队战胜澳大利亚队

2023年国际篮联女篮亚洲杯半决赛7月1日在澳大利亚悉尼进行。中国女篮以

热文:受不利天气影响 6月份全国蔬菜价格出现上涨

【受不利天气影响6月份全国蔬菜价格出现上涨】农业农村部数据显示,受

赵鹏任中国人保党委副书记

赵鹏任中国人保党委副书记,罗熹,王廷科,党委书记,中国人保,足球竞赛,中

每日看点!上证报与上海对外经贸大学合力开展大学生财富素养教育和金融人才培养

7月1日,在第二届长三角高校金融教育论坛现场,上海证券报与上海对外经

【环球快播报】钱不够花!西安公积金线上提取别忘记!我教你操作️→

钱不够花!西安公积金线上提取别忘记!我教你操作️→,贷款,租房,政务

今日看点:董事限时走人,不准进门!知名房企高层内杠,太狗血

董事限时走人,不准进门!知名房企高层内杠,太狗血,石榴,内杠,房地产,

紫光一键重装系统步骤_紫光一键重装系统

1、你好,如果使用一键重装系统的工具,建议你使用白云一键重装系统工

《秘密入侵》剧版“超级斯克鲁人”最终成果可能是塔罗斯女儿!

此前漫威《秘密入侵》剧集更新的第2集剧情中,进一步揭示了以格拉威为

莒县农商银行“贷”来“油”然而生的“杏”福感

莒县农商银行“贷”来“油”然而生的“杏”福感,莒县,山东,杏树,农商行

环球看点!央行例会释放重磅信号:坚决防范汇率大起大落风险,业内人士:降息降准都有空间

央行例会释放重磅信号:坚决防范汇率大起大落风险,业内人士:降息降准

精彩推荐