首页 > 编程语言 >STL与泛型编程

STL与泛型编程

时间:2024-08-27 14:05:55浏览次数:5  
标签:iterator 迭代 STL 编程 ++ istream 泛型 input dice

1.迭代器种类
(1)input iterator
(2)output iterator
(3)forward iterator
(4)bidirectional iterator
(5)random access iterator
2.input iterator
信息从容器流入程序被称为输入,input迭代器被用于从容器中读取信息。Input迭代器只读,不能改写容器中的数据。
input迭代器支持++操作,前++后++都支持
input迭代器是单向的,可以自增,但不能退回。
用于单向只读算法
3.Output iterator
output iterator用于将程序中的数据写入容器。只写不能读。
用于单向只写算法
4.forward iterator
支持++操作,一步只访问一个容器元素。每次访问的顺序都相同。和input output迭代器不同。
int * pirw;//可读可写迭代器
const int *pir;//只读迭代器
5.bidirectional iterator
双向迭代器。支持++和--操作
6.random access iterator
随机访问迭代器。例如排序操作,二分搜索都需要随机访问。
7.copy(),osteram_iterator,istream_iterator
(1)copy().三个参数,起始位置迭代器,终止位置迭代器,目标迭代器。
(2)#include<iterator>
ostream_iterator<int,char> out_iter(cout," ");
int代表送向输出流的数据类型。char代表字符类型(char 或wchar_t).cout代表要使用的输出流,可以更换为文件输出流。
“ ”是数据的分隔符。
*out_iter++=15;//等价于cout<<15;
vector<int> dice[10];
例:copy(dice.begin(),dice.end(),out_iter);
(3)输入迭代器istream_iterator
copy(istream_iterator<int,char>(cin),istream_iterator<int,char>(),dice.begin());
int代表从迭代器中读入的数据类型。第二个参数表示读取只到文件末尾(不含参数的构造函数)

标签:iterator,迭代,STL,编程,++,istream,泛型,input,dice
From: https://www.cnblogs.com/zhongta/p/18382579

相关文章

  • laravel11+vue编程
    文档视频地址https://www.youtube.com/watch?v=iGnlmxA7oM8&list=PL38wFHH4qYZXCW2rlBLNdHi5cv-v_qlXO视频代码https://github.com/JonVadar/YouTube_videos/tree/main/Webdeveloperpathvideos/laravel_Inertia_VueCSSfile:https://github.com/JonVadar/YouTube_videos......
  • 【JUC并发编程系列】深入理解Java并发机制:CAS算法与原子类在Java中的实践应用(二、CAS
    文章目录【JUC并发编程系列】深入理解Java并发机制:CAS算法与原子类在Java中的实践应用(二、CAS)1.同步之原子类(Atomic类)2.使用atomicInteger计数3.使用atomicInteger底层原理3.compareAndSet原理分析3.1手写AtomicInteger3.2手写Lock锁3.3CASaba的问题3.4Atomic......
  • 【JUC并发编程系列】深入理解Java并发机制:从用户态到内核态的探索(一、前置知识)
    文章目录【JUC并发编程系列】深入理解Java并发机制:从用户态到内核态的探索(一、前置知识)1.用户态与内核态区别2.线程安全同步的方式3.传统锁有哪些缺点4.发生CPU上下文切换的原因5.如何避免上下文切换6.详细总结6.1用户态与内核态6.2线程安全同步方式6.3传统锁的......
  • 【python计算机视觉编程——1.基本的图像操作和处理】
    python计算机视觉编程——1.基本的图像操作和处理1.基本的图像操作和处理1.1PIL:Python图像处理类库1.1.1转换图像格式1.1.2创建缩略图1.1.3复制和粘贴图像区域1.1.4调整尺寸和旋转1.2Matplotlib1.2.1绘制图像、点和线1.2.2图像轮廓和直方图1.3Numpy1.3.1图像......
  • 滚雪球学Java(91):Java GUI编程实战:精通组件开发技巧,真有点东西!
      咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及JavaSE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~......
  • 【网络编程通关之路】 Udp 基础回显服务器(Java实现)及你不知道知识原理详解 ! ! !
    本篇会加入个人的所谓鱼式疯言❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言而是理解过并总结出来通俗易懂的大白话,小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.......
  • windows 核心编程 - windows作业限制设置
    演示作业限制设置演示作业限制设置文章目录演示作业限制设置演示作业限制设置moduelJob.h演示作业限制设置/*演示作业限制设置*/#include"..\\CommonFiles\\CmnHdr.h"#include"resource.h"#include"Job.h"#include<tchar.h>#include<strsafe.h>#inc......
  • 网络编程-Socket通信
    Socket通信1、什么是套接字​ Socket是封装了TCP/IP协议簇的系统API接口,这使得程序员无需关注协议本身,直接使用socket提供的接口与不同主机间的进程互联通信。​ 目前市面上主流的操作系统都采用这套机制进制网络通信,所以不同种类的操作系统,使用不同的编程语言,只要调用操作系统......
  • 【流式编程】Stream.of()用法解析及使用示例
    Stream.of()是Java8引入的StreamAPI中的一个静态方法,用于从给定的元素创建一个顺序流(SequentialStream)。这个方法非常灵活,允许你直接从一组元素中创建一个流,而不需要这些元素已经存在于某个集合或数组中。这对于快速创建和操作流非常有用。用法解析Stream.of()......
  • Python 多线程编程技巧举例
    Python多线程(Multithreading)是一种编程技术,允许在同一程序中同时执行多个独立的逻辑流,即线程。每个线程都有自己的程序计数器、栈空间和局部变量,它们共享同一进程的全局变量、文件描述符和其他系统资源。线程是操作系统调度的基本单位,能够在单个进程中并发运行,从而实现任务......