STL
文章平均质量分 53
班公湖里洗过脚
上马击狂胡,下马草军书
展开
-
algorithm算法库学习之——修改序列的操作
algorithm此头文件是算法库的一部分。本篇介绍修改序列的操作函数。原创 2024-07-08 11:59:27 · 321 阅读 · 0 评论 -
algorithm算法库学习之——不修改序列的操作
algorithm此头文件是算法库的一部分。本篇介绍不修改序列的操作函数。原创 2024-07-07 22:23:06 · 386 阅读 · 0 评论 -
chrono时间和日期库学习
此头文件是日期和时间库的一部分。类模板 std::chrono::duration 表示时间间隔。它由 Rep 类型的计次数和计次周期组成,其中计次周期是一个编译期有理f,表示从一个计次到下一个的秒数。在 duration 存储的数据只有 Rep 类型的计次数。若 Rep 是浮点类型,则 duration 能表示小数的计次数。Period 被包含为时长类型的一部分,且只在不同时长间转换时使用。原创 2024-07-06 15:21:40 · 943 阅读 · 0 评论 -
complex复数库学习
此头文件是数值库的一部分。本篇介绍complex的基本用法。原创 2024-07-05 19:13:40 · 712 阅读 · 0 评论 -
codecvt本地化库学习
此标头是本地化库的一部分。该头文件包括3个类,codecvt_utf8,codecvt_utf16, codecvt_utf8_utf16三个类,本篇介绍这三个类的一些用法。原创 2024-06-30 16:12:06 · 348 阅读 · 0 评论 -
memory动态内存管理学习之weak_ptr
此头文件是动态内存管理库的一部分。std::weak_ptr 是一种智能指针,它持有对被 std::shared_ptr 管理的对象的非拥有性(“弱”)引用。在访问所引用的对象前必须先转换为 std::shared_ptr。std::weak_ptr 用来表达临时所有权的概念:当某个对象只有存在时才需要被访问,而且随时可能被他人删除时,可以使用 std::weak_ptr 来跟踪该对象。原创 2024-06-29 21:38:21 · 368 阅读 · 0 评论 -
memory动态内存管理学习之shared_ptr
此头文件是动态内存管理库的一部分。std::shared_ptr 是一种通过指针保持对象共享所有权的智能指针。多个 shared_ptr 对象可持有同一对象。下列情况之一出现时销毁对象并解分配其内存: 最后剩下的持有对象的 shared_ptr 被销毁; 最后剩下的持有对象的 shared_ptr 被通过 operator= 或 reset() 赋值为另一指针。原创 2024-06-16 17:24:37 · 311 阅读 · 0 评论 -
memory动态内存管理学习之unique_ptr
此头文件是动态内存管理库的一部分。std::unique_ptr 是一种智能指针,它通过指针持有并管理另一对象,并在 unique_ptr 离开作用域时释放该对象。在发生下列两者之一时,用关联的删除器释放对象: 管理它的 unique_ptr 对象被销毁。 通过 operator= 或 reset() 赋值另一指针给管理它的 unique_ptr 对象。原创 2024-06-09 21:45:27 · 474 阅读 · 0 评论 -
locale本地化库学习
std::locale 类型的对象(本地环境对象)是不可变刻面的一个不可变索引集。C++ 输入/输出库的每个流对象都与一个 std::locale 对象关联,并用它的各刻面来分析及格式化所有数据。另外,每个 std::basic_regex 对象也都与一个本地环境对象关联。 (C++11 起)本地环境对象也可以在标准容器和算法中用作进行字符串校排的谓词,而且也可以直接访问,以获得或修改它所保有的平面。原创 2024-06-08 23:42:06 · 563 阅读 · 0 评论 -
functional函数对象库学习
类模板 std::function 是一种通用多态函数包装器。std::function 的实例能存储、复制及调用任何可复制构造 (CopyConstructible) 的可调用 (Callable) 目标——函数(通过其指针)、lambda 表达式、bind 表达式或其他函数对象,以及成员函数指针和数据成员指针。存储的可调用对象被称为 std::function 的目标。若 std::function 不含目标,则称它为空。调用空 std::function 的目标导致抛出 std::bad_func原创 2024-06-02 07:45:56 · 452 阅读 · 0 评论 -
stack学习
std::stack 类是一种容器适配器,它给予程序员栈的功能——特别是 FILO(先进后出)数据结构。该类模板用处为底层容器的包装器——只提供特定函数集合。栈从被称作栈顶的容器尾部推弹元素。原创 2024-06-01 21:41:27 · 486 阅读 · 0 评论 -
queue学习
std::queue 类是一种容器适配器,它提供队列的功能——尤其是 FIFO(先进先出)数据结构。此类模板用处为底层容器的包装器——只提供特定的函数集合。queue 在底层容器尾端推入元素,从首端弹出元素。原创 2024-05-26 15:12:51 · 308 阅读 · 0 评论 -
new动态内库管理库学习
new文件是动态内存管理库的一部分,特别提供低层内存管理特性。 它包括bad_alloc,bad_array_new_length,nothrow_t,align_val_t类nothrow常量,以及函数 operator newoperator new[], operator deleteoperator delete[], get_new_handler,set_new_handle等,下面介绍它们的基本使用。原创 2023-03-24 19:58:28 · 440 阅读 · 0 评论 -
string字符串库学习
string是c++开发中经常使用的的标准库的里类,本篇介绍string一些常的函数原创 2023-03-21 20:04:00 · 187 阅读 · 0 评论 -
tuple通用工具库学习
tuple直译为元组,他是固定大小的异类值的汇集,通常如果我们要传的参数或函数返回值都是单类型的,如果实在要返回多类型的就会把它封装成类或结构点,比如坐标Point(x,y),而如果不用这种方式那么tuple就可以做到返回多个值的方式,下面介绍tuple的一些基本使用。原创 2023-02-06 20:00:56 · 191 阅读 · 0 评论 -
exception错误处理库学习
exception是c++标准库组件抛出的各种异常的基类,在c++开发的过程中我们经常会遇到各种各样的异常比如,打开文件失败,数组越界,等等,如果不想让程序崩溃,那么就需要使用一个异常类来处理这些异常错误,使得程序继续运行。下面我们来学习exception的基本使用。原创 2022-09-04 11:28:12 · 1340 阅读 · 1 评论 -
bitset位集学习
类模板bitset表示一个N位的固定大小的二进制位序列。可以用标准逻辑运算符操作bitset,并将它与字符串和整数相互转换。本篇介绍bitset的一些基本使用方法。原创 2022-09-03 21:40:02 · 464 阅读 · 0 评论 -
stdexcept错误处理库学习之
c++错误处理分为两类,一类是逻辑错误logic_error,另一类是运行时错误runtime_error,它们都继承exception,,同时逻辑错误下面又有子类domain_error, invalid_argument, length_error, out_of_range,runtime_error子类有range_error, overflow_error, underflow_error.本篇介绍它们的一些使用示例.........原创 2022-08-14 19:23:42 · 591 阅读 · 0 评论 -
typeindex类型支持库学习
typeindex是针对 type_info 对象的包装,它能用作关联容器和无序关联容器的索引。下面来看它的使用示例。原创 2022-08-05 20:18:46 · 816 阅读 · 0 评论 -
typeinfo类型支持库学习
type_info是保有一个类型的实现指定信息的类,这里的类型不仅包括类,结构体,数值类型比如,int,double,还包括对象,指针。通过typeid运算符返回的类,可以获取该类型的指定信息包括类型的名称和比较二个类型相等的方法或相对顺序,hash_code等。......原创 2022-08-01 20:14:58 · 536 阅读 · 0 评论 -
system_error错误处理库学习
在程序开发时,我们有时遇到程序出错了,但不知道具体的原因,莫名其妙的就崩溃了,其实标准库提供了一个系统错误的库,我们可以使用这个system_error库来了解错误的提示。它不仅提供错误码code(),还提供错误类别category(),错误信息message()等相关接口。.........原创 2022-07-31 19:30:09 · 1588 阅读 · 0 评论 -
type_traits元编程库学习
type_traits是元编程库的一部分,这个库主要用来判断数据类型,比如,判断类型是否为空,是否为空指针,是否为整型,是否为浮点型是否为数组,是否为枚举类型,是否为联合体,是否为函数,是否为指针,是否为左值引用,是否为右值引用,等等,判断的类型非常多,本篇介绍几个基本的。......原创 2022-07-29 19:53:40 · 213 阅读 · 0 评论 -
valarray数值库学习
c++标准库表数组形式的类有三个:array:固定长度,目的为代替内置数组如: int a[5] = {1,3,5,7,9};vector:支持变长度的类,valarray:是表示并操作值数组的类,面向数值计算设计,支持对元素进行数学运算,并且支持多种形式的广义下标运算符、切片及间接访问。下面我们来看valarray的使用.........原创 2022-07-26 20:41:15 · 565 阅读 · 0 评论 -
initializer_list工具库学习
initializer_list是初始化列表类,与vector,list,map等相比,直接使用它比较少,但他确在很多类或模板初始化时使用到,由于它是初始化列表,因此也就意味着,对initializer_list不能增,删,改,相当于就是const数据链表,因此它本身提供的函数比较少,只有size(), begin(), end(), 非成员函数std::begin(std::initializer_list),std::end(std::initializer_list),下面看它的使用示例:...原创 2022-07-23 10:43:41 · 790 阅读 · 0 评论 -
regex正则表达式库学习
在程序开发时,我们有时遇需要过滤一些特殊字符,或者匹配一些固定的字符等,比如电话号码都是数字,电子邮箱包含@符号,密码不能包含特殊字符等,这些都是可以用正则表达式来实现,很多高级语言都提供这个库比如python,java等C++11之前没有这个库所以处理这些很麻烦,从c++11开始就提供了正则表达式的库在头文件regex中,下面我们看它的一些简单示例。......原创 2022-08-12 20:02:12 · 1995 阅读 · 0 评论 -
ratio学习之ratio_add,ratio_subtract,ratio_multiply,ratio_divide的使用
ratio是比例类std::ratio代表一个比例,就是将给定的两个整数进行约分得到一个分数(分子及分母),例如3/6,约分后就是1/2。它主要用于很小的单位,比如,毫秒,微秒,毫米,微米,纳米等。下面是ratio_add,ratio_subtract,ratio_multiply,ratio_divide的使用。...原创 2022-07-22 19:50:32 · 420 阅读 · 0 评论 -
生成随机数random学习之uniform_int_distribution,uniform_real_distribution
在程序开发过程中,有时我们需要用到随机数,如果自己手写一个随机数容易引用重复,而c++11已经提供了一个生成随机数的库random,并且就可设置随机数的范围和类型,下面我们来学习使用两个最常用的随机数生成函数uniform_int_distribution, uniform_real_distribution 。...原创 2022-07-20 20:18:12 · 1585 阅读 · 0 评论 -
numeric学习之iota,accumulate
本篇学习记录numeric的iota,accumulate的使用方式原创 2022-07-16 19:29:15 · 294 阅读 · 0 评论 -
utility实用组件学习之swap,move,forward,exchange
utility是一个实用组件库,里面包括一些非常有用的函数,比如swap,move,forwardexchange等,这篇学习这些函数的基本使用。原创 2022-07-15 20:03:54 · 406 阅读 · 0 评论 -
Iterator 学习之迭代器函数操作
本篇学习Iterator的迭代器函数操作,定义于头文件 ,具体函数如下:advance令迭代器前进给定的距离(函数模板),distance返回两个迭代器间的距离(函数模板),begin 开始迭代器(函数模板),end 结束迭代器(函数模板),next(C++11)令迭代器自增(函数模板),prev(C++11) 令迭代器自减(函数模板)......原创 2022-07-13 20:17:15 · 581 阅读 · 0 评论 -
c++14学习之新语言功能特性
c++14新语言功能特性学习记录原创 2022-07-12 19:51:46 · 336 阅读 · 0 评论 -
limits学习之各数据类型的范围及相关属性
c++中有很多数据类型,每个数据类型都有范围及相关的属性,比如short类型为16,范围从-32768到32767,int的范围从-2147483648到2147483647等等,由于各个数据类型的长度不一样,范围也就相差很大,因此也没有记住他们的具体范围,而numeric_limits可以提供查看各数据类型的范围大小,使用起来也比较方便,.........原创 2022-07-11 20:45:18 · 520 阅读 · 0 评论 -
unordered_multiset学习之桶接口和哈希策略操作
本篇学习unordered_multiset的桶接口和哈希策略操作:begin,cbegin返回一个迭代器,指向指定的桶的开始end,cend返回一个迭代器,指向指定的桶的末尾bucket_count返回桶数max_bucket_count返回桶的最大数量bucket_size返回在特定的桶中的元素数量bucket返回带有特定键的桶load_factor返回每个桶的平均元素数量max_load_factor管理每个桶的平均元素数量的最大值rehash为至少为指定数量的桶预留存储空原创 2021-07-26 19:32:01 · 99 阅读 · 0 评论 -
unordered_multiset学习之迭代器操作begin,cbegin(C++11),end,cend(C++11)
本篇学习unordered_multiset的迭代器操作,具体函数如下begin cbegin(C++11) 返回指向起始的迭代器(公开成员函数)end cend(C++11) 返回指向末尾的迭代器(公开成员函数)原创 2021-07-26 18:07:40 · 130 阅读 · 0 评论 -
unordered_multiset学习之查找操作和观察器操作count,find, contains(C++20),equal_range,hash_function, key_eq
本篇学习unordered_multiset的查找操作和观察器操作,具体函数如下count(C++11) 返回匹配特定键的元素数量find(C++11) 寻找带有特定键的元素equal_range(C++11) 返回匹配特定键的元素范围hash_function(C++11) 返回用于对键散列的函数key_eq(C++11) 返回用于比较键的相等性的函数原创 2021-07-26 16:02:03 · 283 阅读 · 0 评论 -
unordered_multiset学习之修改操作clear,erase,swap,extract,merge
本篇学习unordered_multiset的修改操作,具体函数如下:clear(C++11) 清除内容erase(C++11) 擦除元素swap(C++11) 交换内容extract(C++17) 从另一容器释出结点merge(C++17) 从另一容器接合结点参考:https://zh.cppreference.com/w/cpp/container/unordered_multiset原创 2021-07-26 14:33:24 · 188 阅读 · 0 评论 -
unordered_multiset学习之插入数据操作insert,emplace ,emplace_hint
本篇学习unordered_multiset的插入数据操作,具体的函数如下:insert(C++11) 插入元素或结点 (C++17 起)emplace(C++11) 原位构造元素emplace_hint(C++11) 使用提示原位构造元素原创 2021-07-26 11:47:58 · 411 阅读 · 0 评论 -
unordered_multiset学习之创建,初始化,赋值操作operator=, empty,size,max_size
本篇开始学习unordered_multiset的一些基本使用方式,首先介绍unordered_multise的创建,初始化,赋值操作operator=, empty,size,max_size相关操作。原创 2021-07-26 10:38:31 · 145 阅读 · 0 评论 -
unordered_multimap学习之桶接口和哈希策略操作
本篇学习unordered_multimap的桶接口和哈希策略操作,具体函数如下:begin(size_type) cbegin(size_type)返回一个迭代器,指向指定的桶的开始end(size_type) cend(size_type)返回一个迭代器,指向指定的桶的末尾bucket_count返回桶数max_bucket_count返回桶的最大数量bucket_size返回在特定的桶中的元素数量bucket返回带有特定键的桶哈希策略load_factor返回每个桶的平均元素数量max原创 2021-07-26 09:14:46 · 146 阅读 · 0 评论 -
unordered_multimap学习之迭代器操作begin,cbegin(C++11),end,cend(C++11)
本篇学习unordered_multimap的迭代器操作,具体函数如下:begin cbegin(C++11) 返回指向起始的迭代器end cend(C++11) 返回指向末尾的迭代器参考:https://zh.cppreference.com/w/cpp/container/unordered_multimap原创 2021-07-26 08:12:25 · 223 阅读 · 0 评论