首页 > 编程语言 >STL源码

STL源码

时间:2022-11-12 19:23:21浏览次数:40  
标签:函数 STL 别名 源码 new delete 指针

STL源码:

源码定义:

1.allocator<T>是一个类,allocator_type是他的别名

  T是一个数据类型,value_type是T的别名,pointer是T*的别名

 

2.try和catch的用法:

 

3.size_t和size_type是unsigned的别名

 

4.给同一个类型定义两个或两个以上的别名(嵌套型号定义)

 

5.delete指针与让指针指向空的区别:

 前者是释放掉该指针指向的内存的内容,后者是让指针指向空(即断了指针和原来的那片内存的联系)

 

6.this的用法,如果一个类的成员函数用到这个类的成员,则用这个this连接。

 this.和this->的区别,什么情况下应该用什么

 

7.new int(5)与new int [5]的区别

 

8.使用的new与delete要相同。也就是说如果你在 new表达式中使用了 [],你必须在对应的 delete 表达式中使用 []。如果你在 new 表达式中没有使用 [],你也不必在对应的 delete 表达式中使用 []。

 

9.括号运算符的用法:只能用于类中的成员函数,不能用于全局函数。(正常调用自己的成员函数过于麻烦,所以通过括号重载,更加简单调用成员函数)

 

10.在类里面可以先用后定义吗?可以 而全局函数的定义则不可以,的按先后顺序(或者可以用extern函数)

 

关键字:

1.static_cast    强制类型转换static_cast<int>(a)  将变量a内容强制转换为int类型

 

 

 

手写vector对应函数:vector<int>a,  vector<int>a(2),   vector<int>a(5,2),  push_back,

size(), 通过迭代器访问, 通过下标访问, clear(),  内存扩容    

标签:函数,STL,别名,源码,new,delete,指针
From: https://www.cnblogs.com/huangcong1233/p/16884452.html

相关文章

  • C++学习------cerrno头文件的作用与源码学习
    引言cerrno是C++对errno.h头文件的封装,里面实现了一个errno宏,返回上一次的错误码。我们来看看这个宏的具体实现以及其背后的原理。cerrno头文件代码位置:​​www.aospxref.......
  • Linux-0.11操作系统源码调试
    学习操作系统有比较好的两种方式,第一种是跟着别人写一个操作系统出来,《操作系统真相还原》、《Orange's:一个操作系统的实现》等书就是教学这个的;另一种方式就是调试操作系......
  • WINDOWS下从源码编译Carla0.9.13+UE4.26
    CARLA是一个开源的自动驾驶模拟器,基于UE4。本篇文章讲述如何在windows系统上从源码编译Carla0.9.13+UE4.26。参考官方文档:https://carla.readthedocs.io/en/0.9.13/build_......
  • 这些不知道,别说你熟悉 Nacos,深度源码解析!
    SpringCloud应用启动拉去配置我们之前写过一篇文章,介绍了一些Spring提供的扩展机制。其中说到了ApplicationContextInitializer,该扩展是在上下文准备阶段(prepareContext......
  • Go 语言项目源码解析:定时任务库 cron
    环境准备首先我们将源码克隆(Fork)为自己的个人仓库,只需要在GitHub项目主页点击Fork按钮,然后输入项目名称点击确认即可。克隆完毕后,可以下载到本地,或者直接在科隆后的Git......
  • hadoop单个数据节点的不同存储路径的存储策略源码分析。
    产生问题于数据集群的数节点存储磁盘大小不同,造成使用一段时间以后容量小的磁盘空间紧张。其实,早期配置了磁盘使用存储策略,就能解决该问题,部分网来上说这个策略无效,再hadoop......
  • Redis 集群模式的安装与配置【源码安装redis-7.0.5】
    Redis最新版下载地址:http://download.redis.io/releases/redis-7.0.5.tar.gz步骤如下:1)wget http://download.redis.io/releases/redis-7.0.5.tar.gz2)tar-zxf redis-7......
  • 【源码】902- 探索 Snabbdom 模块系统原理
    近几年随着React、Vue等前端框架不断兴起,VirtualDOM概念也越来越火,被用到越来越多的框架、库中。VirtualDOM是基于真实DOM的一层抽象,用简单的JS对象描述真实DOM......
  • Seata Server 1.5.2 源码学习
    Seata包括Server端和Client端。Seata中有三种角色:TC、TM、RM,其中,Server端就是TC,TM和RM属Client端。Client端的源码学习上一篇已讲过,详见《Seata1.5.2源码学习》,今天来......
  • 一周干货回顾&总结(附论文、源码、链接)
    ​作者:Edison_G本周我们“计算机视觉研究院”主要推送了目标检测干货及中国人工智能大会内容,今天给大家总结一下!公众号ID|ComputerVisionGzq学习群|扫码在主页获取加入方式​......