杂谈stl

C++ STL快速入门方法

在数月之前的机试中第一次体验到STL的威力,因为自己本来一直在用C语言做开发,很多数据结构都是自己造的,比如链表、队列等,第一次接触C++ STL后发现这些数据结构都已经给我提供好了,我直接拿去调用就好了,真是超级方便。最近的项目中也遇到了STL一些容器,所以现在自己好好总结一下STL中一些最常用的 ......
方法 STL

C++ STL 一般总结

以下内容来源网上 经过整合而成 一、一般介绍 STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++ Standard Library)中,是ANSI/ISO C++标准中最新的也是极具革命性的一部分。 ......
STL

【知识杂谈#1】Linux如何安装net-tools和sbin配置PATH

1. Linux下载net-tools 在Linux上下载net-tools包的方法可能会因你所使用的Linux发行版而有所不同。 在某些现代的Linux发行版中,net-tools已经被弃用,而推荐使用iproute2来替代它。 #对于Debian/Ubuntu系统: sudo apt insta ......
net-tools 杂谈 知识 Linux tools

【知识杂谈#2】如何查看Linux的(本地与公网)IP地址与SSH服务的端口号

1. 本地Ip地址查看 使用查看linux主机是否有net-tools dpkg -l net-tools 显示以下代码就说明已安装成功 ||/ Name Version Architecture Description +++ ii net-tools 2.10-0.1 amd64 NET-3 n ......
口号 杂谈 地址 知识 Linux

C++ STL标准容器的特点和典型的使用场景

概念和作用 C++标准模板库(Standard Template Library,STL)提供了一组通用的模板类和函数,用于处理常见的数据结构和算法。STL中的标准容器是其中的重要组成部分,它们提供了不同的数据结构和操作方式,适用于各种不同的使用场景。 说白了,就是每一种容器代表一种特定的数据结构。 ......
容器 场景 典型 特点 标准

Computer Architecture 缓存技术杂谈

Computer Architecture 缓存技术杂谈 关于缓存系统的笔记告一段落,整理了所有的笔记链接,并且总结了每一个优化方法对于性能的影响。 (注:MP = Miss Penalty 错失成本,MR = Miss Rate 错失率,BW = Memory Bandwidth 内存带宽) 关于 ......
缓存 Architecture 杂谈 Computer 技术

常用STL

参考链接: [C++ STL] vector使用详解 - fengMisaka - 博客园 (cnblogs.com) [C++ STL] deque使用详解 - fengMisaka - 博客园 (cnblogs.com) [C++ STL] list使用详解 - fengMisaka - 博客园 ......
常用 STL

C++ STL 容器简单讲解

STL 简单讲解 网上有很多很好的资料可以参考 而直接看标准是最准确清晰的 vector stack queue / priority_queue deque array map / multimap set / multiset unordered_map unordered_set 关于指针和迭 ......
容器 STL

P1417 烹调方案 题解&贪心杂谈

## _Description_ 一共有 $n$ 个食物,每个食物有3个属性,分别为 $a,b,c$,其中 $c$ 表示做这道菜的耗时。 一个食物的贡献为 $a-b\times t$,其中 $t$ 表示做完这道菜的总耗时,求在 $T$ 个单位时间内,最多能产生多少贡献 ......
题解 杂谈 方案 P1417 1417

STL(13) map multimap

目录基本结构源码map独有的operator[] 和set的区别 set中key就是value,value就是key 而map中value中有key和data 基本结构 key不能改 data可以改 源码 仍然是一步步的传递 这里的迭代器改为了一个普通的iterator select1st的实现 m ......
multimap STL map 13

STL(13) set multiset

目录源码VC6中没有identity()那么如何调用呢使用multiset 有了红黑树的基础,set和map就变得很简单了 源码 一步一步的调用rbtree 因为set的value就是key 所以从value中取出key就用identity就可以 而取出迭代器用的是const iterator 不允 ......
multiset STL set 13

CH58xCentral杂谈

一、直接连接无扫描 CH58x芯片作为主机建立连接是通过MAC地址方式,即先搜索周围从机的MAC,然后与内部保存的MAC比对并决定是否建立连接。 可以省略搜索周围从机而直接根据MAC发起连接,通过GAPRole_CentralEstablishLink即可。 if(events & Establis ......
杂谈 xCentral CH 58

C++ STL 容器之map

一、map简介 可以将任何基本类型映射到任何基本类型。如int array[100]事实上就是定义了一个int型到int型的映射。 map提供一对一的数据处理,key-value键值对,其类型可以自己定义,第一个称为关键字,第二个为关键字的值 map内部是自动排序的 二、用法 1.map定义: ma ......
容器 STL map

【gdb】让GDB支持STL的标准库的方法

本文源自http://sourceware.org/gdb/wiki/STLSupport 正常情况下,gdb没法直观的打印出stl标准库中的容器之类的,调试起来非常困难了。 如vector,queue, deque, list等。 如vector<int> a (gdb) p a $1 = {<s ......
标准 方法 gdb GDB STL

C++ STL之向量vector

/*vector_example.cpp*/ #include <iostream> #include <vector> #include <string> using namespace std; int main() { vector<string> msg = {"Hello", "C++", ......
向量 vector STL

STL迭代器(iterator)

http://c.biancheng.net/view/6675.html 迭代器类别 常用的迭代器按功能强弱分为输入迭代器、输出迭代器、前向迭代器、双向迭代器、随机访问迭代器 5 种。 迭代器的定义方式 尽管不同容器对应着不同类别的迭代器,但这些迭代器有着较为统一的定义方式,具体分为 4 种,如表 ......
iterator STL

入园杂谈-2023.9.13

第一次接触到博客园还是在2018年刚上大学,在网上找C语言来实现冒泡排序的代码(好吧其实只是在网上找现成的代码来完成作业)。两年前和寝室里的大哥一起通过GitHub+HEXO搭建了属于自己的静态博客,之后我们二人便开始了对博客内容的填充,这期间的学习时间大概是我上大学以来最充实的自主学习时间。期间我 ......
杂谈 2023 13

C++STL进阶:pb_ds库

Windows, 64bit G++ (ISO c20) stack=268435456 开启O2优化 万能头文件 CodeForces在 \(\tt C^{20(64)}_{++}\) 版本下无法使用 bits;如果需要使用 priority_queue 则无法使用 using(会和 std 撞名 ......
pb_ds STL pb ds

合并果子题解-C++ STL priority_queue容器的使用

说明:本博文关于priority_queue容器的说明来源于www.cnblogs.com/fusiwei/p/11823053.html 本人是刚刚接触算法竞赛的萌新,如果有大佬发现了错误,还望指出(真的有人会看本蒟蒻的博文吗) 这是我的第一篇博文,更多是作为测试 以后会将博客作为笔记记录学习的体 ......
题解 果子 priority_queue 容器 priority

STL (9/16)

系统为某一程序分配空间时和空间大小无关,只和申请次数有关 vector 1.遍历方式 初始化可以 =make_pair(1 , 2); 也可以 ={1,2}; string substr()::取子集,输入区间下标; c_str() ::返回首地址 queue 优先队列(堆) 默认大跟堆 小跟对方式 ......
STL 16

C++ STL 编程指北

C++ STL 编程指北 未避免歧义,所有容器的swap方法和不常用方法均未写 1. vector 向量容器 用一句话来说,vector就是可变长数组。 但vector所支持的可变长特性,并不是在原空间之后接续新空间来实现的,因为无法保证之后尚有可供分配的空间。 底层实现上当增加新元素时,如果当前v ......
STL

『数学杂谈』递归式复杂度求解

关于递归式复杂度求解的一些想法。 虽然说具体数学有一整章讲渐进式,但鉴于学这个性价比太低了,基本也用不到,所以很多有关渐进式的东西会在本文总结。 接下来进入正题。 为什么不直接用主定理? 这是本文十分重要的一个点。这里先贴一下主定理,为了使文章尽可能简洁,就不贴出证明了: 主定理的适用范围是非常广的 ......
复杂度 杂谈 数学

STL(12) RBTREE 红黑树

目录红黑树的基本原理基本要求变色和旋转rbtree源码G2.9示例2.94.9treenode的构造 关联式容器: 查找快,插入快 STL中的主要代表:红黑树,hashtable 红黑树的基本原理 单个结点来看,左孩子小于根节点,右孩子大于根节点(二叉搜索树) 红黑树是什么,有什么意义:排序二叉树有 ......
RBTREE STL 12

C++ sizeof 杂谈

原来 sizeof 是一个特殊的,运算优先级很高的一种运算符?之前一直都不知道。 参考博客: c++中sizeof()的用法介绍 C++ 学习杂谈:sizeof(string)到底是多少? 优先级 作为一个运算符,sizeof 自然也是有优先级的,它在 C++ 中优先级为 \(3\),也就是除了作用 ......
杂谈 sizeof

C++中STL用法汇总

1 什么是STL? STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++ Standard Library)中,是ANSI/ISO C++标准中最新的也是极具革命性的一部分。该库包含了诸多在计算机科学 ......
STL

STL(11) deque stack queue

目录源码 G2.9buffersize的自定大小insert模拟连续空间-的重载++--重载+=重载gnu c 4.9queuestack其他的底层结构 容器deque,双向开口的queue 容器结构的表示 是一种分段连续的假象,当需要分配的时候,向前面再分配一个buffer 迭代器的构造如图,no ......
deque stack queue STL 11

C++ STL

Dev-C++ 可在 工具 -> 编译选项 -> 代码生成 / 优化 -> 代码生成 -> 语言标准 中选择 “ISO C++11” 或 “GNU C++11” 来支持 C++11 的新特性(蓝Dev 还不支持 C++14) 不声明下,区间均为左闭右开区间,typename 表示一个数据类型而不是 ......
STL

STL(10) array forward_list

目录 array在c++中本就存在,而为什么要包装称为容器 要遵守容器的原则,要实现iterator,要享受标准库中的算法等 由于不可扩充,所以需要指定大小 ......
forward_list forward array list STL

STL(9) vector

目录底层两倍增长的原理vector的iteratorgnu c 4.9 动态增长的数组 底层 数组,支持动态扩充 在某一个点上,需要在内存的别的地方找到空间,进行扩充 扩充方式,当到达了一个阈值,在内存中找到另一个空间,进行成倍增长 sizeof vector为12 内部有三根指针,start en ......
vector STL

STL(8) 迭代器设计原则和traits

目录iterator的原则以rotate为例子五种类型traits Traits:特征 Traits就是说你丢给他一个东西,希望得到某些特征 iterator的原则 是算法和容器的桥梁 用iterator告诉算法操作范围 在操作的过程中,算法想知道iterator的性质,从中选择最佳化的动作 以ro ......
原则 traits STL