多级列表啥意思(多级列表是干什么的)

多级列表啥意思(多级列表是干什么的)C 标准库列表类是序列容器的一个类模板 用于将它们的素保持为线性排列 并允许在序列的任何位置高效插入和删除 序列存储为双向链接的素列表 每个包含一些 类型的成员 要存储在列表中的素数据类型 表示所存储分配器对象的类型 该分配器对象封装有关列表的内存分配和解除分配的详细信息 此参数是可选参数 默认值为 容器类型选择通常应根据应用程序所需的搜索和插入的类型 当对任何素的随机访问超出限制并且仅要求在序列的末尾插入或删除素时 矢量应作为用于管理序列的首选容器



C++ 标准库列表类是序列容器的一个类模板,用于将它们的素保持为线性排列,并允许在序列的任何位置高效插入和删除。 序列存储为双向链接的素列表,每个包含一些 类型的成员。

 
  


要存储在列表中的素数据类型。


表示所存储分配器对象的类型,该分配器对象封装有关列表的内存分配和解除分配的详细信息。 此参数是可选参数,默认值为 。

容器类型选择通常应根据应用程序所需的搜索和插入的类型。 当对任何素的随机访问超出限制并且仅要求在序列的末尾插入或删除素时,矢量应作为用于管理序列的首选容器。 当需要随机访问并且在序列起始处和末尾处插入和删除素已到达极限时,应首选类 deque 容器进行操作。

列表成员函数 、、、 和 已针对对列表的操作进行了优化,它们可作为泛型对应函数的高性能替代函数。

当成员函数必须插入或删除列表中的素时,将发生列表的重新分配。 在所有这类情况下,仅指向受控制序列被消除部分的迭代器或引用将变为无效。

包括 C++ 标准库标准标头 ,以定义 类模板列表和多个支持模板。

名称 描述 构造一个列表,它具有特定大小或它的素具有特定值,或具有特定 或作为某个其他列表副本。
名称 描述 表示列表对象的 类的类型。 提供可读取列表中 素的双向迭代器的类型。 提供指向列表中 素的指针的类型。 提供对存储于列表中供读取和执行 操作的 素的引用的类型。 提供可读取列表中任何 素的双向迭代器的类型。 提供引用同一列表中的素的两个迭代器之间的差异的类型。 提供可读取或修改列表中任何素的双向迭代器的类型。 提供指向列表中素的指针的类型。 提供对存储于列表中供读取和执行 操作的 素的引用的类型。 提供可读取或修改反向列表中的素的双向迭代器的类型。 计算列表中素的数目的类型。 表示列表中存储的数据类型的类型。
名称 描述 将素从列表中擦除并将一组新的素复制到目标列表。 返回对列表中最后一个素的引用。 返回发现列表中第一个素的位置的迭代器。 返回发现列表中第一个素的位置的常量迭代器。 返回发现一个列表中最后一个素之后的位置的敞亮表达式。 消除列表中的全部素。 返回发现反向列表中第一个素的位置的常量迭代器。 返回用于发现反向列表中最后一个素之后的位置的常量迭代器。 将构造的素插入到列表中的指定位置。 在列表的结尾处添加一个就地构造的素。 在列表的起始位置添加一个就地构造的素。 测试列表是否为空。 返回用于发现列表中最后一个素之后的位置的迭代器。 从列表中的指定位置移除一个或一系列素。 返回对列表中第一个素的引用。 返回用于构造列表的 对象的一个副本。 将一个、几个或一系列素插入列表中的指定位置。 返回列表的最大长度。 将素从参数列表移除,将它们插入目标列表,将新的组合素集以升序或其他指定顺序排序。 删除列表末尾的素。 删除列表起始处的一个素。 在列表的末尾添加素。 在列表的开头添加素。 返回发现反向列表中第一个素的位置的迭代器。 清除列表中与指定值匹配的素。 将满足指定谓词的素从列表中消除。 返回发现反向列表中最后一个素之后的位置的迭代器。 为列表指定新的大小。 反转列表中素的顺序。 返回列表中素的数目。 按升序或其他顺序关系排列列表中的素。 将素从自变量列表中删除或将它们插入目标列表。 交换两个列表的素。 从列表中删除满足某些其他二谓词的相邻重复素或相邻素。
名称 描述 用另一个列表的副本替换列表中的素。

标头

表示列表对象的分配器类的类型。

 
  

是模板参数 的同义词。

请参阅 的示例。

清除列表中的素,并将一组新素复制到目标列表。

 
  


要从自变量列表中复制的一系列素中的第一个素的位置。


超出要从参数列表中复制的一系列素的范围的第一个素的位置。


要插入列表中的素副本的数目。


要插入到列表中的素的值。


包含要插入的素的 initializer_list。

清除目标列表中的任何现有素后,将原始列表或其他列表中的一系列指定的素插入目标列表中,或将指定值的新素的副本插入目标列表中

 
  
 
  

返回对列表中最后一个素的引用。

 
  

列表的最后一个素。 如果列表为空,则返回值不确定。

如果将 的返回值分配给 ,则无法修改列表对象。 如果将 的返回值分配给 ,则可修改列表对象。

当使用定义为 1 或 2 的 进行编译时,如果试图访问空列表中的素,则将发生运行时错误。 有关更多信息,请参阅经过检查的迭代器。

 
  
 
  

返回发现列表中第一个素的位置的迭代器。

 
  

发现列表中第一个素的位置或空列表之后的位置的双向迭代器。

如果 的返回值赋给了 ,则无法修改列表对象中的素。 如果 的返回值赋给了 ,则可以修改 list 对象中的素。

 
  
 
  

返回确定范围中第一个素地址的 迭代器。

 
  

双向访问迭代器,指向范围的第一个素,或刚超出空范围末尾的位置(对于空范围,)。

由于使用 的返回值,因此不能修改范围中的素。

可以使用此成员函数替代 成员函数,以保证返回值为 。 它一般与 类型推导关键字联合使用,如以下示例所示。 在此示例中,将 视为支持 和 的可修改的任何类型的(非- )容器。

 
  

返回一个 迭代器,此迭代器用于发现刚超出范围中最后一个素的位置。

 
  

指向刚超出范围末尾的位置的 双向访问迭代器。

用于测试迭代器是否超过了其范围的末尾。

可以使用此成员函数替代 成员函数,以保证返回值为 。 它一般与 类型推导关键字联合使用,如以下示例所示。 在此示例中,将 视为支持 和 的可修改的任何类型的(非- )容器。

 
  

不应对 返回的值取消引用。

消除列表中的全部素。

 
  
 
  
 
  

提供可读取列表中 素的双向迭代器的类型。

 
  

类型不能用于修改素的值。

请参阅 的示例。

提供指向列表中 素的指针。

 
  

类型不能用于修改素的值。

在大多数情况下,应使用 访问列表对象中的素。

提供对存储于列表中供读取和执行 操作的 素的引用的类型。

 
  

类型不能用于修改素的值。

 
  
 
  

提供可读取列表中任何 素的双向迭代器的类型。

 
  

类型无法修改素的值,它用于反向循环访问列表。

请参阅 的示例。

返回发现反向列表中第一个素的位置的常量迭代器。

 
  

一个常量反向双向迭代器,用于发现反向 中的第一个素(或发现非反向列表中的最后一个素的内容)。

可用于反向列表,就像 可用于 一样。

返回值为 时,无法修改列表对象。 可用于向后循环访问列表。

 
  
 
  

返回用于发现反向列表中最后一个素之后的位置的常量迭代器。

 
  

用于发现反向 中最后一个素之后的位置(非反向 中第一个素之前的位置)的常量反向双向迭代器。

可用于反向列表,就像 可用于 一样。

返回值为 时,无法修改 对象。

可用于测试反向迭代器是否已到达其 的末尾。

不应对 返回的值取消引用。

 
  
 
  

可用于表示列表中迭代器所指向素之间素数目的有符号整数类型。

 
  

是通过容器迭代器减少或递增时返回的类型。 通常用于表示迭代器 和 之间的范围 [ , ) 内素的数目,包括 指向的素以及那一系列素,但不包括 指向的素。

注意,尽管 适用于满足输入迭代器(包括可逆容器支持的双向迭代器的类,如集)需求的所有迭代器,迭代器之间的减法仅受随机访问容器(如 Class)提供的随机访问迭代器支持。

 
  
 
  

将构造的素插入到列表中的指定位置。

 
  


目标 中插入第一个素的位置。


添加到 末尾的素。

如果引发了异常, 将保持不变,该异常将被重新引发。

 
  
 
  

在列表的结尾处添加一个就地构造的素。

 
  


添加到 末尾的素。

如果引发了异常, 将保持不变,该异常将被重新引发。

 
  
 
  

在列表的起始位置添加一个就地构造的素。

 
  


要添加到 开头的素。

如果引发了异常, 将保持不变,该异常将被重新引发。

 
  
 
  

测试列表是否为空。

 
  

如果列表为空,则为 ;如果列表不为空,则为

 
  
 
  

返回用于发现列表中最后一个素之后的位置的迭代器。

 
  

用于发现列表中最后一个素之后的位置的双向迭代器。 如果列表为空,则 。

用于测试迭代器是否已到达列表的末尾。

 
  
 
  

从列表中的指定位置移除一个或一系列素。

 
  


要从列表中移除的素的位置。


要从列表中移除的第一个素的位置。


要从列表中移除的刚超出最后一个素的位置。

指定已移除的任何素之外保留的第一个素的双向迭代器;如果不存在此类素,则为指向列表末尾的指针。

不发生重新分配,因此迭代器和引用仅对已清除素无效。

绝不会引发异常。

 
  
 
  

返回对列表中第一个素的引用。

 
  

如果列表为空,返回的结果则不确定。

如果将 的返回值分配给 ,则无法修改列表对象。 如果将 的返回值分配给 ,则可修改列表对象。

当使用定义为 1 或 2 的 进行编译时,如果试图访问空列表中的素,则将发生运行时错误。 有关更多信息,请参阅经过检查的迭代器。

 
  
 
  

返回用于构造列表的分配器对象的一个副本。

 
  

列表使用的分配器。

列表类的分配器指定类管理存储的方式。 C++ 标准库容器类提供的默认分配器足以满足大多编程需求。 编写和使用你自己的分配器类是高级 C++ 主题。

 
  

将一个、几个或一系列素插入列表中的指定位置。

 
  


目标列表中插入第一个素的位置。


要插入到列表中的素的值。


要插入列表中的素数目。


要从参数列表中复制的一系列素中第一个素的位置。


要从自变量列表中复制的一系列素以外的第一个素的位置。

前两个插入函数返回一个迭代器,该迭代器指向新素插入到列表中的位置。

 
  

提供可读取或修改列表中任何素的双向迭代器的类型。

 
  

类型可用于修改素的值。

请参阅 的示例。

构造一个列表,它具有特定大小或它的素具有特定值,或具有特定分配器或作为其他列表的全部或部分副本。

 
  


要用于此对象的分配器类。


所构造列表中素的数目。


列表中素的值。


所构造列表要作为其副本的列表。


要复制的范围素中的第一个素的位置。


要复制的素范围以外的第一个素的位置。


包含要复制的素的 initializer_list。

所有构造函数都存储一个分配器对象 () 并初始化列表。

返回用于构造列表的分配器对象的一个副本。

第一个构造函数指定一个空的初始列表,第二个指定要使用的分配器类型 ()。

第三个构造函数指定类 的默认值的指定数量 () 的素的重复。

第四个和第五个构造函数指定值为 的 () 个素的重复素。

第六个构造函数指定列表 的副本。

第七个构造函数移动列表

第八个构造函数使用 initializer_list 指定素。

接下来的两个构造函数复制列表的范围 。

所有构造函数均不执行任何临时重新分配。

 
  
 
  

返回列表的最大长度。

 
  

列表的最大可取长度。

 
  

将素从参数列表移除,将它们插入目标列表,将新的组合素集以升序或其他指定顺序排序。

 
  


要与目标列表合并的自变量列表。


用于排列目标列表素的比较运算符。

参数列表 与目标列表合并。

参数列表和目标列表必须用相同的比较关系进行排序,生成的序列将以这种关系进行排序。 第一个成员函数的默认排列顺序是升序。 第二个成员函数执行 类中用户指定的比较运算

 
  
 
  

用另一个列表的副本替换列表中的素。

 
  


要复制到 中的 。

消除 中的任何现有素后,运算符会将 的内容复制或移动到 内。

 
  

提供指向列表素的指针。

 
  

类型可用于修改素的值。

在大多数情况下,应使用 访问列表对象中的素。

删除列表末尾的素。

 
  

最后一个素不得为空。 绝不会引发异常。

 
  
 
  

删除列表起始处的一个素。

 
  

第一个素不得为空。 绝不会引发异常。

 
  
 
  

在列表的末尾添加素。

 
  


添加到列表末尾的素。

如果引发异常,列表将保持不变,该异常将被重新引发。

 
  
 
  

在列表的开头添加素。

 
  


要添加到列表开头的素。

如果引发异常,列表将保持不变,该异常将被重新引发。

 
  
 
  

返回一个迭代器,此迭代器用于发现反向列表中的第一个素。

 
  

一个发现反向列表中的第一个素(或发现非反向列表中的最后一个素的内容)的反向双向迭代器。

可用于反向列表,就像 可用于列表一样。

如果将 的返回值分配给 ,则无法修改列表对象。 如果将 的返回值分配给 ,则可修改列表对象。

可用于向后循环访问列表。

 
  
 
  

提供对存储在列表中的素的引用的类型。

 
  
 
  
 
  

清除列表中与指定值匹配的素。

 
  


一个值,如果某个素包含该值,则会导致从列表中删除该素。

剩余素的排序不受影响。

 
  
 
  

将满足指定谓词的素从列表中消除。

 
  


一谓词,如果素满足该谓词,则该谓词会导致此素从列表删除。

 
  
 
  

返回发现反向列表中最后一个素之后的位置的迭代器。

 
  

一个反向双向迭代器,用于发现反向列表中最后一个素之后的位置(非反向列表中第一个素之前的位置)。

可用于反向列表,就像 可用于列表一样。

如果将 的返回值分配给 ,则无法修改列表对象。 如果将 的返回值分配给 ,则可修改列表对象。

可用于测试反向迭代器是否已到达其列表的末尾。

不应对 返回的值取消引用。

 
  
 
  

为列表指定新的大小。

 
  


列表的新大小。


新的大小大于原始大小时要添加至列表的新素的值。 如果省略此值,则会赋给新素此类的默认值。

如果列表的大小小于请求的大小 ,那么会在列表中添加素,直到该列表达到请求的大小。

如果列表的大小大于请求的大小,最接近列表末尾的素将被删除,直到该列表达到 大小。

如果列表的当前大小与请求的大小相同,则不采取任何操作。

表示列表的当前大小。

 
  
 
  

反转列表中素的顺序。

 
  
 
  
 
  

提供可读取或修改反向列表中的素的双向迭代器的类型。

 
  

类型用于反向循环访问列表。

请参阅 的示例。

返回列表中素的数目。

 
  

列表的当前长度。

 
  
 
  

计算列表中素的数目的类型。

 
  

请参阅 的示例。

按升序或用户指定的其他顺序排列列表素。

 
  


用于排列连续素的比较运算符。

默认情况下,第一个成员函数将按升序排列素。

成员模板函数将根据 类中用户指定的比较运算 排列素。

 
  
 
  

从源列表中删除素并将其插入到目标列表中。

 
  


目标列表中要在其前面进行插入的位置。


要插入目标列表中的源列表。


要从源列表中进行插入的素。


要从源列表中进行插入的范围中的第一个素。


要从源列表中进行插入的范围中的最后一个素之外的第一个位置。

第一对成员函数在 所引用的位置之前,将源列表中的所有素插入到目标列表中,然后从源列表中删除所有素。 ( 不能等于 。)

第二对成员函数将在 所引用的目标列表中的位置之前,插入 所引用的素,然后从源列表中删除 Iter。 (如果 ,则不会发生更改。)

第三对成员函数将在 所引用的目标列表中的素之前,插入由 [ , ) 指定的范围,然后从源列表中删除该素范围。 (如果 ,则范围 不得包含 所指向的素。)

如果范围接合插入 个素和 ,则类 的对象会递增 次。

在所有情况下,迭代器、指针或引用接合的素的引用都会保持有效状态且会转换为目标容器。

 
  
 
  

交换两个列表的素。

 
  


提供要交换的素的列表,或其素将要与列表 的素交换的列表。


其素将与列表 的进行交换的列表。

 
  
 
  

从列表中删除满足某些其他二谓词的相邻重复素或相邻素。

 
  


用于比较连续素的二谓词。

此函数假设列表是经过排序的,因此所有重复素都是相邻的。 不相邻的重复素将不被删除。

第一个成员函数删除比较等于其前一个素的每个素。

第二个成员函数删除与前一个素比较时满足谓词函数 的素。 可以使用在 参数的 标头中声明的任何二函数对象,也可以创建自己的二函数对象。

 
  
 
  

表示列表中存储的数据类型的类型。

 
  

是模板参数 的同义词。

 
  
今天的文章 
  多级列表啥意思(多级列表是干什么的)分享到此就结束了,感谢您的阅读。 
  

                    
编程小号
上一篇 2025-07-13 23:17
下一篇 2025-09-12 12:06

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/13167.html