C++ 关联容器2024 年 8 月 28 日 | 3 分钟阅读 C++ 标准库提供了各种高效的容器。这些容器是各种存储数据结构的简单模式版本。其他版本,例如标准库中基于模板的算法和迭代器实现,也可用。但是,容器仅用于存储项目。容器必须是模板化的才能实现模块化。这使得容器能够容纳几乎所有数据类型的对象。 每个容器都有一组成员函数,其中大多数共享这些函数的相似原型子集。这使得编码人员能够快速找出函数名所提供的内容并理解如何使用它们,即使容器类型发生变化,这对于编码人员来说也是一个显著的优势。这里只考虑有序关联容器。 C++ 为我们提供了多种多样的容器,每种容器都有其独特的应用。关联容器是 C++ 容器的一种类型。在本节结束时,您应该理解为什么它们被称为“关联”容器。 在 C++ 中,关联容器存储“排序数据”,与其他容器类型不同。因此,搜索和访问信息要快得多。但是,这也意味着输入数据将花费更多时间(将其放置在正确的位置)。 C++ 中的所有容器类型都是类模板,这意味着它们可以存储各种数据类型。此外,它们使用相同的声明机制,使得理解、记忆和操作各种容器类型变得简单。 设置容器C++ Set 容器与其他关联容器的区别在于它包含“唯一且排序”的数据。通过“唯一”,我们意味着此容器中没有两个数据元素是相同的。任何输入的冗余都将很快被消除。 下面提供了一个简短的代码示例来演示 Set 容器的运行。 C++ 程序 输出 OUTPUT: 5 0 1 2 3 4 具有多个 Set 的容器除了一个例外,Multi-Set 与 Set 容器几乎相同。与 Set 容器相反,Multi-set 容器允许将元素的副本保存在其容器中。 除此之外,您在 Set 中应用的操作也与 Multi-Set 兼容。 Map 容器Map 容器与其他关联容器不同,因为它将数据存储为键值对。键类似于值的标识功能,它用于从 Map 中检索和获取值。凭据必须是唯一的,但值可能不是。 如果您熟悉 Python 中的字典,那么 C++ 中的 Map 非常相似。 这里有一些使用基本 Map 容器方法的代码。 C++ 程序 输出 Key: 1 Value: Grapes Key: 2 Value: Guava Key: 3 Value: Watermelon 要将数据插入 Map,我们像 Set 容器一样应用 insert() 和 pair。Insert() 输入数据,而 pair() 将其更改为合适的格式。 为了访问它,我们使用迭代器和 for 循环遍历 Map 中的所有键值对。第一个属性用于返回键,而第二个属性用于获取值。由于迭代器是一个引用,我们需要使用 ->。 Multi-Map 容器Multi-Map 类似于 Map,但有一个例外。键不要求是唯一的;它们可能是彼此的副本。此外,这些重复键的值必须是不同的。简而言之,键或值必须是不同的。Multi-Map 不能包含两个相同的键值对。 所有其他功能都与标准 Map 类似,除了声明中的细微差别。 下一主题C++ 初学者书籍 |
在本文中,我们将讨论 C++ 和 Ruby 之间的区别。但在讨论这些区别之前,我们必须了解 C++ 和 Ruby。什么是 C++ 编程语言?C++ 是一个由 Bjarne Stroustrup 开发的高级、通用、面向对象的编程语言。它具有许多特性,例如...
5 分钟阅读
valloc() 函数不是 C++ 标准库中的标准函数。尽管如此,Linux 和其他类 Unix 操作系统支持此 POSIX 功能。valloc() 函数用于对齐内存分配。以下是对 valloc() 的完整描述:目的:使用 valloc() 函数分配一块内存,该内存...
阅读 3 分钟
在本文中,您将了解 C++ 中的五规则及其语法和示例。五规则指出,如果您的类需要以下任何一项,那么它可能需要所有项:析构函数:用于避免资源泄漏,当一个...
阅读 10 分钟
在处理 C++ 编程时,格式化输出在提高代码可读性和用户友好性方面起着至关重要的作用。在控制输出格式的可用工具中,setf() 函数是一项有价值的功能。这篇博文将深入探讨 setf() 函数...
阅读 3 分钟
在本文中,我们将讨论 C++ 中的 deque::front() 和 deque::back() 及其示例。Deque,即双端队列,是可以在两端扩展和压缩的序列容器。它们与 vector 类似,但在元素插入和删除方面效率更高……
阅读 3 分钟
在本文中,您将学习如何在 C++ 中自定义未捕获异常的终止行为。在 C++ 中,std::set_terminate 方法允许应用程序在未捕获异常发生时采取自定义响应。它使您能够指定一个唯一的处理程序,如果……
阅读 3 分钟
在本文中,我们将讨论其语法和示例。btown() 函数是 C 中的一个标准库函数,它将单字节字符转换为宽字符。它用于将单字节字符转换为相应的宽字符,接受...
阅读 3 分钟
什么是 BFS?广度优先搜索 (BFS) 是一种遍历或搜索图的算法。它从给定的顶点开始,在移动到下一级顶点之前探索所有相邻的顶点。BFS 可用于查找两个顶点之间的最短路径...
5 分钟阅读
在函数中,参数被定义为在调用函数时传递的值。传递的值是源,接收函数是目的地。现在让我们详细理解默认参数的概念。定义 默认参数是函数声明中的一个值...
阅读 4 分钟
介绍:类的成员数据通过初始化列表进行初始化。构造函数将成员初始化列表指定为冒号后跟着逗号分隔的列表。下面是使用初始化列表初始化 Point 类的 x 和 y 属性的示例...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India