坚持学习100天:STL(头大的英文,一个模板库,非得写得我看不懂)

46 篇文章 0 订阅
44 篇文章 0 订阅

前言

Hello,我是修齊。
学习C++的第一百零一十八天,18是个美好的数字,18岁刚刚好,28岁也要用心学习。
在这里记录一些学习的东西和学习的心情,内容主要是一些自己学习整理的小笔记。

一、指针与引用

1.指针是一个变量,和其他类型的变量是一样的,是一个占用四字节的变量(32位机上)。
2.指针与变量不同的在它的变量值是一个内存地址,指向内存的另一个地方。
3.引用是变量的另一个别名。
4.指针变量可以指向NULL,表示不指向任何变量地址。
5.引用必须在声明的时候就得和一个已经存在的变量相绑定,且绑定不能改变。

二、标准模板库STL

1.先认个单词吧:standard template library(标准 模板 图书馆《库》)
2.属性:包含诸多计算机科学领域常用的基本数据结构和基本算法。
3.类似MFC:Microsoft foundation class library
4.VCL:Visual component library
5.STL是C++标准函数库中一个子集,占80%。
6.STL在程序设计中作用是提供一个可供函数调用的组件和函数库。当需要时,通过接口来调用。
7.STL目的是:标准化组件

三、STL引用

#include<vector>
#include<iostream>
int main()
{
   std::vector<double>a;//定义数据变量
   std::vector<double>::const_iterator i;//定义变量
   a.push_back(1);//调用STL中函数
   a.push_back(2);
   a.push_back(3);
   a.push_back(4);
   a.push_back(5);
   for(i=a.begin();i!=a.end();i++)//循环输出
   {
       std::cout<<(*i)<<std::endl;//输出该容器内所有元素
   }
   return 0}

1.预编译一个从未提到过的文件
2.一对括号<>,表示模板
3.push_back()函数,begin()函数,end()函数未被定义,已被头文件vector.h包含

四、STL(容器(containers)、算法(algorithms)、迭代器(iterators)、仿函数(functors)、配接器(adapters)、配置器(allocators))

1.containers:用于管理数据集合,包括各种数据结构:vector、list、deque、set、map、、用来存放数据。
2.algorithms:定义计算过程,包括各种算法:sort、search、copy、erase、、。
3.iterators:提供遍历容器的方法,是容器与算法的胶合剂(泛型指针),共五种类型及衍生变化。
4.实现角度迭代器是一种将operator*、operator->、operator++、operator - -等指针相关操作予以重载的class template。
5.functors:将函数封装在对象中,供其他组件使用。行为类似函数,可做算法的某种策略,实现角度是这一种重载了operator()的class或者class template,函数指针是一种狭义的仿函数。
6.adapters:一种修饰容器、仿函数或迭代器的接口,queue和stack看似容器,只能算是一种容器配接器,底部完全借助deque,操作由deque供应。
7.改变functor 接口者称为function adapter
8.给变container接口者称为container adapter
9.allocators:负责空间配置与管理,实现角度是一个实现动态空间配置、空间管理、空间释放的class template。
10.STL的代码分三类:algorithm(算法)、container(容器)、iterator(迭代器),都采用模板类和模板函数的方式
11.C++中STL13个头文件:

<algorithm>
<deque>
<functional>
<iterator>
<vector>
<list>
<map>
<memory>
<numeric>
<queue>
<set>
<stack>
<utility>


五、小脑袋,大疑问

还没看懂,看看吧,就这样,还要看好多呢
算法、容器、列表、集合、栈
真赞,要看到栈了,加油

上述内容如有侵权,联系即删。
感谢阅读-感谢支持

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值