C++岗位求职面试八股文第十篇

系列文章目录

第一篇:语言基础
第二篇:设计模式
第三篇:数据库
第四篇:计算机网络
第五篇:操作系统
第六篇:LInux
第七篇:数据结构
第八篇:智力题

[181]友元

在这里插入图片描述
在这里插入图片描述
友元提供了不同类的成员函数之间、类的成员函数和一般函数之间进行数据共享的机制。通过友元,一个不同函数或者另一个类中的成员函数可以访问类中的私有成员和保护成员。友元的正确使用能提高程序的运行效率,但同时也破坏了类的封装性和数据的隐藏性,导致程序可维护性变差。

一个函数可以是多个类的友元函数,但是每个类中都要声明这个函数

友元类的所有成员函数都是另一个类的友元函数,都可以访问另一个类中的隐藏信息(包括私有成员和保护成员)。
但是另一个类里面也要相应的进行声明
添加链接描述

友元类中申明友元函数:告诉类内的东西,这个函数是friend,可以访问类内任何东西

[182]解释下 C++ 中类模板和模板类的区别

类模板是模板的定义,不是一个实实在在的类,定义中用到通用类型参数
模板类是实实在在的类定义,是类模板的实例化。类定义中参数被实际类型所代替。
在这里插入图片描述
在这里插入图片描述

[183]空类

空类的⼤⼩不是0,是1字节。为了确保两个不同对象的地址不同。,空类也会实例化,所以编译器会给空类隐含的添加⼀个字节
在这里插入图片描述
在这里插入图片描述
共享虚函数地址表:派⽣类继承的第⼀个是基类,且该基类定义了虚函数地址表,则派⽣类就共享该表⾸址占⽤的存储单元。
在这里插入图片描述

[184]STL优势

1.实现数据结构和算法的分离,使得STL非常通用。

2.STL具有高可重用性,高性能,高移植性,夸平台的优点。

高可重用性:STL中几乎所有的代码都采用了模板类和模板函数的方式实现,代码重用性高。
高性能:如 map 可以⾼效地从⼗万条记录⾥⾯查找出指定的记录,如map,采用红黑数的变体实现,效率高。
高移植性:STL模块很容易移植。

[185]请说说 STL 的基本组成部分

广义上讲,STL分为3类:Algorithm(算法)、Container(容器)和Iterator(迭代器&#x

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT与Fintech

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值