C++面试易错知识点总结(持续更新中)

Posted 工控上位机学习

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++面试易错知识点总结(持续更新中)相关的知识,希望对你有一定的参考价值。

工控课堂

工控课堂【www.gkket.com】工程师必备网站

电气工控自动化-超万元免费资料

1、虚函数指针、虚函数表存放位置

(ps:通常ARM编译器生成的可执行文件由两部分数据组成,分别是代码段和数据段。代码段又分为可执行代码段(text)和只读数据段(rodata);数据段又分为初始化数据段(data)和未初始化数据段(bss)。)

2、空类会默认有哪些函数?空类的大小?

3、struct与class的区别

struct在C中,不能定义函数、没有访问权限的设定,只能定义数据成员变量;在C++中,与class类似,可以定义函数、实现继承以及多态,以及有public、protected、private三种访问权限。
C++中,struct与class的唯一区别是:struct中成员默认的访问权限是public,class中成员默认的访问权限是private。

4、类型转换

类型转换分为两种,隐式转换和显式转换。其中,隐式转换(implicit conversion)是程序自动执行的,无须程序员介入。
显式转换是强制转换的,常用于不同数据类型(eg:int和size_t类型)的大小比较,分为以下四种:
(1)static_cast:用于编译器无法自动执行的类型转换
(2)const_cast:将const修饰的常量转换为非常量,一般用于重载函数中。
(3)reinterpret_cast:将变量从类型1转换为类型2,编译器会当作类型2,真实类型为类型1(不建议使用)。
(4)dynamic_cast:将一个基类指针(或引用)转换为派生类指针(或引用),一般用于有继承关系的类中。例如:

class Father father;
class Son son;
Father* pf; //基类指针
Son* ps; //派生类指针
pf=&son;
ps=dynamic_cast<Son*>(pf);
123456

强制类型转换干扰了正常的类型检查,应尽量避免使用强制类型转换。

5、函数(或类)模板声明与函数(或类)模板实现不能分开

由template< typename T> 声明的函数或类都意味着编译器在当时不为它分配存储空间,它一直处于等待状态直到被一个模板实例告知。在编译器和连接器的某一处,有一机制能去掉指定模板的多重定义。所以为了容易使用,几乎总是在头文件中放置全部的模板声明和定义。

转发是最大的鼓励!谢谢您的支持!

重要通知

想加入工控上位机学习技术交流群

请添加班长为好友

并备注:地区-行业-姓名昵称获取进群资格。

C++面试易错知识点总结(持续更新中)

工控上位机学习
专业专注分享

      

——————————————————————

 来源:网络-百度文库,侵删!

▣ 声明:本文素材系网络收集,工控上位机学习编辑整理。文中所用视频、图片、文字版权归原作者所有。但因转载众多,无法确认真正原始作者,故仅标明转载来源。如涉及作品版权问题,烦请及时联系17621634088(微信同号),我们将即刻确认版权并按国家相关规定支付稿酬!


C++面试易错知识点总结(持续更新中)

她们都关注了,你还等什么?

C++面试易错知识点总结(持续更新中) C++面试易错知识点总结(持续更新中) C++面试易错知识点总结(持续更新中) C++面试易错知识点总结(持续更新中) C++面试易错知识点总结(持续更新中) C++面试易错知识点总结(持续更新中) C++面试易错知识点总结(持续更新中)

 猛戳阅读原文,开启电气工控自动化之路

以上是关于C++面试易错知识点总结(持续更新中)的主要内容,如果未能解决你的问题,请参考以下文章

C++基础知识 易错点 总结(待补)

Android面试题最全总结系列 (持续更新中...)

Android面试题最全总结系列 (持续更新中...)

回归 | js实用代码片段的封装与总结(持续更新中...)

Android面试面试重要知识点,拿出你的小本本,持续更新中......

Java面试知识点总结-JavaSE基础篇(持续更新)