STL

如何为STL库中的map添加元素?

为了给map容器添加元素,我们有4种方法:1. 最简洁的方式就是通过'[]',中括号内为key,通过map[key]=value的形式为map添加元素(这里如果已存在key,则进行覆盖);2. 然后就是大家熟悉的insert(),insert()在此处既可单个插入,又能多个插入,还可以通过迭代器参数优化从指定位置寻找插入位置;3. 然后就是emplace()直接构造了,但是仅能添加

如何访问array容器内的元素?

我们已经认识STL库里的array容器了,在填充完元素后,最常见的操作就是查看array里的元素了。本节将会详细介绍多种访问array内元素的方式,让读者熟悉array容器内元素的访问方式!和普通数组一样,array也重载了'[]'运算符,我们可以通过'[]'访问array内的元素:#include<bits/stdc++.h>/*如何访问

C/C++如何加速输入输出效率(上)

C/C++如何加速输入输出效率(上)1.简介遇到大数据时,往往读写文件成了程序运行速度的瓶颈,需要更快的读取方式。相信几乎所有的C++学习者都在cin机器缓慢的速度上栽过跟头,有很多案例中提供几个数据,却在后台测评却提供了近千,近万的数……

C++的区别

C++的区别1.从C语言到C++1980年,BjarneStroustrup博士着手创建一种新的语言,能够具有面向对象的程序设计特色。在当时,面向对象编程是一个新颖的概念,Stroustrup博士并不是从头开始设……

STL容器常用成员函数和成员变量

使用STL需要我们了解容器及其对应的成员函数和成员变量,不求全部背诵,但是要有个印象,方便文档查询和算法使用,下表罗列了算法竞赛中STL常用函数和变量:类别名称功能说明适用容器容量相关size()返回当前元素个数全部容器empty()判断容器是否为空全部容器max_size()返回容器可容纳的最大元素数全部容器capacity()返回当前分配的内存容量(仅vector/string)vector,

初识STL库中deque容器

前面我们已经接触到array、vector容器,掌握里一定的基础。现在我们开始进行deque容器的学习。duque,double-ended queue,意思就是双端队列,该容器首尾都能够进行增删元素操作且其时间复杂度为O(1)。deque底层是中控区+缓冲区,可以理解为通过指针链接数组块。deque与vector极其相似,下面展示其所有成员函数:类别成员函数函数签名说明元素访问atreferen

初识STL库中的forward_list

就像array是vector的“轻量型”一样,list也有自己的“轻量型”——forward_list。什么是forward_list,简单来说,forward_list就是单链表,每个节点只包含一个后驱指针,如果读者忘记单链表的相关知识,可跳转《链表》补充相关知识。在C++11后,为了追求轻便高效的容器,STL大师将list“优化”为forward_list,forward_list仅支持头增头

C++STL之Set容器

C++STL之Set容器1.简介Set(集合)属于关联式容器,也是STL中最实用的容器,关联式容器依据特定的排序准则,自动为其元素排序。Set集合的底层使用一颗红黑树(可能读者对此不太了解,等但学到树论与图论的章节的时候就会……

什么是C++模板?

C++模板是C++编程语言中的泛型编程工具,它允许你编写与具体数据类型无关的通用代码。简单来说,模板让你可以创建一个"代码蓝图",编译器会根据这个蓝图为不同的数据类型生成具体的代码。举个例子:在C++的世界里,有很多种数据类型,比如int(整型)、double(双精度浮点型)、float(单精度浮点型)、long long(长整型)等,为了实现各个类型的加法函数,我们一般都会这

都c++11了,还有人不知道emplace_back()?

在前面的章节《初识STL中的vector容器》我们曾谈到vector插入元素的方法,想必大家只知道push_back()这个尾插函数吧,其实,在c++11后,vector还有一个尾插函数,那就是emplace_back(),en的意思是进入,place的意思是位置,emplace_back()就是放到最后面的意思。不是都有push_back()了吗,这么还会有emplace_back()呢?其实这