C++笔试面试基础-02

整理的C++笔试面试基础-02

书接上回

十三、STL容器

这里只简单的介绍下STL容器,详细的以后会补充。
STL容器是C++标准库的一部分,提供了许多应用于数据结构和算法的模板类,其中包括了很多的容器*(这里先列举这几个,之后补充):

  • vector()---->可变大小的数组,类似动态数组。内部的实现是采用的动态数组,支持随机访问并且线性顺序排列;
  • List()----> 双向链表,支持快速插入和删除,但是访问效率低下;
  • deque()----> 双端队列,在头尾进行快速删除和插入;
  • set()----> 集合,存储不重复的元素,并且对元素自动排序;
  • map()----> 映射,存储键值对。
    补充: map和set的区别:map实现了关联数组,通过键值对存储和访问元素,而set实现了集合,只存储键值而没有对应的值;map中的元素是键值对,并且键是唯一的,值可以重复;set中元素只有键;map通过键值对操作元素,set通过键来操作元素。

十四、简述strcpy、sprintf与memcpy的区别

  • strcpy(dest, src):将一个字符串复制到另一个字符串中。//dest是目标字符串,src指向原字符串;
  • memcpy():将一段内存中的内容复制到另一段内存当中。
  • 三者区别:strcpy只能复制字符串,sprintf的操作源对象可以是多种数据类型,memcpy操作对象是任意两个可操作的内存地址,并不限制于何种数据类型。并且memcpy执行效率最高,sprintf执行效率最低;strcpy主要实现字符串变量间的拷贝,sprintf主要实现其他数据类型格式到字符串的转化,memcpy主要是内存块间的拷贝。

十五、简述sizeof 和 strlen 的区别

  • sizeof是一个运算符,而strlen是一个库函数。它用于获取数据类型或变量所占用的字节数。它的作用不仅限于字符串,可以用于任何数据类型,包括基本数据类型、自定义数据类型、数组、指针等,而strlen只能用于以空字符\0结尾的字符串。
  • sizeof获取的是数据类型或变量所占用的字节数,而strlen获取的是字符串的长度(不包括空字符\0)

十六、析构函数

  • 一种特殊的成员函数,用来释放对象占用的资源,以波浪号开头,并且不包含任何参数也没有返回类型。

十七、重载和覆盖

  • 重载是在同一个类中进行,同名函数的参数列表不相同;覆盖是为了实现多态性,同名函数的参数列表必须相同。

十八、构造函数

  • 一种初始化对象的特殊方法,其名称必须与类名相同。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值