STL
文章平均质量分 56
班公湖里洗过脚
上马击狂胡,下马草军书
展开
-
标准库标头 <bit>(C++20)学习
头文件是数值库的一部分。定义用于访问、操作和处理各个位和位序列的函数。例如,有函数可以旋转位、查找连续集或已清除位的数量、查看某个数是否为 2 的整数幂、查找表示数字的最小位数等。下面来看一下它的具体使用示例:原创 2024-09-15 23:07:15 · 1261 阅读 · 0 评论 -
标准库标头 <barrier>(C++20)学习
此头文件是线程支持库的一部分。类模板 std::barrier 提供一种线程协调机制,阻塞已知大小的线程组直至该组中的所有线程到达该屏障。不同于 std::latch,屏障是可重用的:一旦到达的线程组被解除阻塞,即可重用同一屏障。与 std::latch 不同,会在线程解除阻塞前执行一个可能为空的可调用对象。原创 2024-09-11 23:19:32 · 1077 阅读 · 0 评论 -
标准库标头 <filesystem> (C++17)学习之文件类型
本篇介绍filesystem文件库的文件类型API。原创 2024-09-08 23:10:24 · 396 阅读 · 0 评论 -
标准库标头 <filesystem> (C++17)学习
此头文件是文件系统支持库的一部分。本篇介绍filesystem命名空间的一些函数。原创 2024-09-06 22:50:57 · 651 阅读 · 0 评论 -
标准库标头 <optional> (C++17)学习之optional
类模板 std::optional 管理一个可选 的所含值,即既可以存在也可以不存在的值。一种常见的 optional 使用情况是作为可能失败的函数的返回值。与如 std::pair 等其他手段相比,optional 可以很好地处理构造开销高昂的对象,并更加可读,因为它明确表达了意图. optional 的任何实例在任意给定时间点要么含值,要么不含值。原创 2024-09-03 22:20:48 · 751 阅读 · 0 评论 -
标准库标头 <charconv>(c++17)学习
此头文件是strings library.std::to_chars_result 是 std::to_chars 的返回类型。它没有基类std::from_chars_result 是 std::from_chars 的返回类型。它没有基类原创 2024-09-02 22:51:53 · 375 阅读 · 0 评论 -
标准库标头 <variant> (C++17)学习之variant类
此头文件是通用工具库的一部分。类模板 std::variant 表示一个类型安全的联合体(以下称“变体”)。一个 std::variant 的实例在任意时刻要么保有它的可选类型之一的值,要么在错误情况下无值(此状态难以达成,见 valueless_by_exception)。与联合体类似,如果变体保有某个对象类型 T 的值,那么 T 的对象表示会在变体自身的对象表示中直接分配。不允许变体分配额外的(动态)内存。原创 2024-08-31 09:34:10 · 915 阅读 · 0 评论 -
标准库标头 <memory_resource> (C++17)学习之monotonic_buffer_resource
类 std::pmr::monotonic_buffer_resource 是特定目的的内存资源类,它仅在销毁资源时释放分配的内存。它的意图是提供非常快速的内存分配,在内存用于分配少量对象,并于之后一次释放的情形。monotonic_buffer_resource 能以初始缓冲区构造,若无初始缓冲,或缓冲用尽,则从构造时提供的上游分配器分配缓冲区。缓冲区的大小以几何级数增长。monotonic_buffer_resource 不是线程安全的。原创 2024-08-24 14:05:35 · 339 阅读 · 0 评论 -
标准库标头 <execution> (C++17)学习
此头文件是算法库的一部分。本篇介绍策略类型的一些应用示例:原创 2024-08-23 14:19:32 · 269 阅读 · 0 评论 -
标准库标头 <string_view> (C++17)学习
此头文件是字符串库的一部分。本篇介绍string_view的基本用法。原创 2024-08-22 08:55:02 · 451 阅读 · 0 评论 -
标准库标头 <any> (C++17)学习
此头文件是通用工具库的一部分。类 any 描述一种可用于任何可复制构造类型的单个值的类型安全容器。原创 2024-08-21 10:24:34 · 273 阅读 · 0 评论 -
algorithm算法库学习之——堆操作,最小/最大操作,比较操作,排列操作
algorithm此头文件是算法库的一部分。本篇介绍堆操作,最小/最大操作,比较操作,排列操作。原创 2024-08-20 16:10:33 · 416 阅读 · 0 评论 -
algorithm算法库学习之——(有序范围上的)二分搜索操作 和集合操作
algorithm此头文件是算法库的一部分。本篇介绍(有序范围上的)二分搜索操作 和集合操作。原创 2024-08-19 19:54:18 · 295 阅读 · 0 评论 -
algorithm算法库学习之——划分操作和排序操作
algorithm此头文件是算法库的一部分。本篇介绍划分操作和排序操作。原创 2024-08-18 15:31:22 · 249 阅读 · 0 评论 -
algorithm算法库学习之——修改序列的操作2
algorithm此头文件是算法库的一部分。本篇介绍修改序列的操作函数。(2)原创 2024-08-09 13:14:36 · 340 阅读 · 0 评论 -
algorithm算法库学习之——修改序列的操作
algorithm此头文件是算法库的一部分。本篇介绍修改序列的操作函数。原创 2024-07-08 11:59:27 · 350 阅读 · 0 评论 -
algorithm算法库学习之——不修改序列的操作
algorithm此头文件是算法库的一部分。本篇介绍不修改序列的操作函数。原创 2024-07-07 22:23:06 · 408 阅读 · 0 评论 -
chrono时间和日期库学习
此头文件是日期和时间库的一部分。类模板 std::chrono::duration 表示时间间隔。它由 Rep 类型的计次数和计次周期组成,其中计次周期是一个编译期有理f,表示从一个计次到下一个的秒数。在 duration 存储的数据只有 Rep 类型的计次数。若 Rep 是浮点类型,则 duration 能表示小数的计次数。Period 被包含为时长类型的一部分,且只在不同时长间转换时使用。原创 2024-07-06 15:21:40 · 969 阅读 · 0 评论 -
complex复数库学习
此头文件是数值库的一部分。本篇介绍complex的基本用法。原创 2024-07-05 19:13:40 · 726 阅读 · 0 评论 -
codecvt本地化库学习
此标头是本地化库的一部分。该头文件包括3个类,codecvt_utf8,codecvt_utf16, codecvt_utf8_utf16三个类,本篇介绍这三个类的一些用法。原创 2024-06-30 16:12:06 · 404 阅读 · 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 · 386 阅读 · 0 评论 -
memory动态内存管理学习之shared_ptr
此头文件是动态内存管理库的一部分。std::shared_ptr 是一种通过指针保持对象共享所有权的智能指针。多个 shared_ptr 对象可持有同一对象。下列情况之一出现时销毁对象并解分配其内存: 最后剩下的持有对象的 shared_ptr 被销毁; 最后剩下的持有对象的 shared_ptr 被通过 operator= 或 reset() 赋值为另一指针。原创 2024-06-16 17:24:37 · 327 阅读 · 0 评论 -
memory动态内存管理学习之unique_ptr
此头文件是动态内存管理库的一部分。std::unique_ptr 是一种智能指针,它通过指针持有并管理另一对象,并在 unique_ptr 离开作用域时释放该对象。在发生下列两者之一时,用关联的删除器释放对象: 管理它的 unique_ptr 对象被销毁。 通过 operator= 或 reset() 赋值另一指针给管理它的 unique_ptr 对象。原创 2024-06-09 21:45:27 · 490 阅读 · 0 评论 -
locale本地化库学习
std::locale 类型的对象(本地环境对象)是不可变刻面的一个不可变索引集。C++ 输入/输出库的每个流对象都与一个 std::locale 对象关联,并用它的各刻面来分析及格式化所有数据。另外,每个 std::basic_regex 对象也都与一个本地环境对象关联。 (C++11 起)本地环境对象也可以在标准容器和算法中用作进行字符串校排的谓词,而且也可以直接访问,以获得或修改它所保有的平面。原创 2024-06-08 23:42:06 · 582 阅读 · 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 · 467 阅读 · 0 评论 -
stack学习
std::stack 类是一种容器适配器,它给予程序员栈的功能——特别是 FILO(先进后出)数据结构。该类模板用处为底层容器的包装器——只提供特定函数集合。栈从被称作栈顶的容器尾部推弹元素。原创 2024-06-01 21:41:27 · 495 阅读 · 0 评论 -
queue学习
std::queue 类是一种容器适配器,它提供队列的功能——尤其是 FIFO(先进先出)数据结构。此类模板用处为底层容器的包装器——只提供特定的函数集合。queue 在底层容器尾端推入元素,从首端弹出元素。原创 2024-05-26 15:12:51 · 317 阅读 · 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 · 463 阅读 · 0 评论 -
string字符串库学习
string是c++开发中经常使用的的标准库的里类,本篇介绍string一些常的函数原创 2023-03-21 20:04:00 · 202 阅读 · 0 评论 -
tuple通用工具库学习
tuple直译为元组,他是固定大小的异类值的汇集,通常如果我们要传的参数或函数返回值都是单类型的,如果实在要返回多类型的就会把它封装成类或结构点,比如坐标Point(x,y),而如果不用这种方式那么tuple就可以做到返回多个值的方式,下面介绍tuple的一些基本使用。原创 2023-02-06 20:00:56 · 206 阅读 · 0 评论 -
exception错误处理库学习
exception是c++标准库组件抛出的各种异常的基类,在c++开发的过程中我们经常会遇到各种各样的异常比如,打开文件失败,数组越界,等等,如果不想让程序崩溃,那么就需要使用一个异常类来处理这些异常错误,使得程序继续运行。下面我们来学习exception的基本使用。原创 2022-09-04 11:28:12 · 1382 阅读 · 0 评论 -
bitset位集学习
类模板bitset表示一个N位的固定大小的二进制位序列。可以用标准逻辑运算符操作bitset,并将它与字符串和整数相互转换。本篇介绍bitset的一些基本使用方法。原创 2022-09-03 21:40:02 · 474 阅读 · 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 · 606 阅读 · 0 评论 -
typeindex类型支持库学习
typeindex是针对 type_info 对象的包装,它能用作关联容器和无序关联容器的索引。下面来看它的使用示例。原创 2022-08-05 20:18:46 · 843 阅读 · 0 评论 -
typeinfo类型支持库学习
type_info是保有一个类型的实现指定信息的类,这里的类型不仅包括类,结构体,数值类型比如,int,double,还包括对象,指针。通过typeid运算符返回的类,可以获取该类型的指定信息包括类型的名称和比较二个类型相等的方法或相对顺序,hash_code等。......原创 2022-08-01 20:14:58 · 548 阅读 · 0 评论 -
system_error错误处理库学习
在程序开发时,我们有时遇到程序出错了,但不知道具体的原因,莫名其妙的就崩溃了,其实标准库提供了一个系统错误的库,我们可以使用这个system_error库来了解错误的提示。它不仅提供错误码code(),还提供错误类别category(),错误信息message()等相关接口。.........原创 2022-07-31 19:30:09 · 1729 阅读 · 0 评论 -
type_traits元编程库学习
type_traits是元编程库的一部分,这个库主要用来判断数据类型,比如,判断类型是否为空,是否为空指针,是否为整型,是否为浮点型是否为数组,是否为枚举类型,是否为联合体,是否为函数,是否为指针,是否为左值引用,是否为右值引用,等等,判断的类型非常多,本篇介绍几个基本的。......原创 2022-07-29 19:53:40 · 222 阅读 · 0 评论 -
valarray数值库学习
c++标准库表数组形式的类有三个:array:固定长度,目的为代替内置数组如: int a[5] = {1,3,5,7,9};vector:支持变长度的类,valarray:是表示并操作值数组的类,面向数值计算设计,支持对元素进行数学运算,并且支持多种形式的广义下标运算符、切片及间接访问。下面我们来看valarray的使用.........原创 2022-07-26 20:41:15 · 583 阅读 · 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 · 819 阅读 · 0 评论 -
regex正则表达式库学习
在程序开发时,我们有时遇需要过滤一些特殊字符,或者匹配一些固定的字符等,比如电话号码都是数字,电子邮箱包含@符号,密码不能包含特殊字符等,这些都是可以用正则表达式来实现,很多高级语言都提供这个库比如python,java等C++11之前没有这个库所以处理这些很麻烦,从c++11开始就提供了正则表达式的库在头文件regex中,下面我们看它的一些简单示例。......原创 2022-08-12 20:02:12 · 2018 阅读 · 0 评论