热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

hash_map是STL的一部分吗?-Ishash_mappartoftheSTL?

QuickquestionIshash_mappartoftheSTL?简单的问题…hash_map是STL的一部分吗?

Quick question...Is hash_map part of the STL?

简单的问题…hash_map是STL的一部分吗?

6 个解决方案

#1


92  

The STL has hash_map, but the C++ Standard Library does not.

STL有hash_map,但是c++标准库没有。

Due to a common misconception, you may think of the C++ Standard Library as "the STL", or of parts of your toolchains implementation of the C++ Standard Library as "an STL implementation". It is not.

由于一个常见的误解,您可能认为c++标准库是“STL”,或者您的c++标准库的部分工具链实现是“STL实现”。它不是。

It is also a great shame that both MSVC++ and GCC (which implement hash_map as a compiler-specific extension), place it in the std namespace, which is highly misleading. *sigh*

MSVC++和GCC(它们将hash_map实现为一个特定于编译器的扩展)都将其放在std名称空间中,这也非常令人遗憾,这是非常容易引起误解的。*叹息*

C++11 has introduced std::unordered_map, which is not dissimilar.

c++ 11引入了std:::unordered_map,这并没有什么不同。

#2


13  

Quoting Wikipedia (emphasis added):

引用维基百科(重点):

From the STL page:

STL的页面:

The Standard Template Library (STL) is a software library partially included in the C++ Standard Library.

标准模板库(STL)是一个部分包含在c++标准库中的软件库。

...and then from the hash_map page

…然后从hash_map页面开始

In the C++ programming language, hash_map is the name of a hashed associative container in the Standard Template Library. It is provided by several implementors, such as the GNU C++ compiler and Microsoft's Visual C++. It is not part of the C++ Standard Library, but the C++ Technical Report 1 contains the very similar container unordered_map, which will be included in the upcoming C++0x standard.

在c++编程语言中,hash_map是标准模板库中的散列关联容器的名称。它由几个实现者提供,例如GNU c++编译器和微软的Visual c++。它不是c++标准库的一部分,但是c++技术报告1包含非常类似的容器unordered_map,它将包含在即将到来的c++ 0x标准中。

So in short,

简言之,

  • YES it's part of the STL.
  • 是的,它是STL的一部分。
  • But it IS NOT part of the standard library.
  • 但它不是标准库的一部分。
  • But it is supported by several very popular implementations.
  • 但是有几个非常流行的实现支持它。

#3


7  

The problem is that there is no agreed upon meaning for the term STL. Is hash_map part of Standard C++? No, it isn't. unordered_map will be part of the new C++ standard, however, and is a map implemented using hashing.

问题是,对于STL这个词没有一致的定义。hash_map是标准c++的一部分吗?不,它不是。不过,unordered_map将是新的c++标准的一部分,并且是使用散列实现的映射。

#4


4  

Yes, hash_map is part of the STL. However, it is not part of C++03's standard library.

是的,hash_map是STL的一部分。但是,它不是c++ 03的标准库的一部分。

#5


2  

hash_map is a part of STL, but not a part of Standard C++(C++11). And there is a similar implementation of hash_map named "std::unordered_map" in standard C++: http://www.cplusplus.com/reference/unordered_map/unordered_map/

hash_map是STL的一部分,而不是标准c++ (c++ 11)的一部分。在标准C+: http://www.cplusplusplus.com/reference/unordered_map/unordered_map/中有一个类似的hash_map的实现,名为“std:::unordered_map”

Currently, GNU C++ and MSVC++ have implemented hash_map for compiler extension, as well as Boost. Meanwhile, SGI has its own implementation for hash_map. You can refer to http://www.sgi.com/tech/stl/hash_map.html for details.

目前,GNU c++和MSVC++已经实现了用于编译器扩展的hash_map,以及Boost。同时,SGI有自己的hash_map实现。您可以参考http://www.sgi.com/tech/stl/hash_map.html获取详细信息。

#6


-2  

No...Hash_map is not part of the STL standard.

不…Hash_map不是STL标准的一部分。


推荐阅读
  • PHP预处理常量详解:如何定义与使用常量 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 本文详细介绍了一种利用 ESP8266 01S 模块构建 Web 服务器的成功实践方案。通过具体的代码示例和详细的步骤说明,帮助读者快速掌握该模块的使用方法。在疫情期间,作者重新审视并研究了这一未被充分利用的模块,最终成功实现了 Web 服务器的功能。本文不仅提供了完整的代码实现,还涵盖了调试过程中遇到的常见问题及其解决方法,为初学者提供了宝贵的参考。 ... [详细]
  • 本文详细介绍了在Linux系统上编译安装MySQL 5.5源码的步骤。首先,通过Yum安装必要的依赖软件包,如GCC、GCC-C++等,确保编译环境的完备。接着,下载并解压MySQL 5.5的源码包,配置编译选项,进行编译和安装。最后,完成安装后,进行基本的配置和启动测试,确保MySQL服务正常运行。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 在编译 PHP7 的 PDO MySQL 扩展时,可能会遇到 `[mysql_driver.lo]` 错误 1。该问题通常出现在 `pdo_mysql_fetch_error_func` 函数中。本文详细介绍了导致这一错误的常见原因,包括依赖库版本不匹配、编译选项设置不当等,并提供了具体的解决步骤和调试方法,帮助开发者快速定位并解决问题。 ... [详细]
  • 在配置Nginx的SSL证书后,虽然HTTPS访问能够正常工作,但HTTP请求却会遇到400错误。本文详细解析了这一问题,并提供了Nginx配置的具体示例。此外,还深入探讨了DNS服务器证书、SSL证书的申请与安装流程,以及域名注册、查询方法和CDN加速技术的应用,帮助读者全面了解相关技术细节。 ... [详细]
  • 深入解析Android 4.4中的Fence机制及其应用
    在Android 4.4中,Fence机制是处理缓冲区交换和同步问题的关键技术。该机制广泛应用于生产者-消费者模式中,确保了不同组件之间高效、安全的数据传输。通过深入解析Fence机制的工作原理和应用场景,本文探讨了其在系统性能优化和资源管理中的重要作用。 ... [详细]
  • 在ElasticStack日志监控系统中,Logstash编码插件自5.0版本起进行了重大改进。插件被独立拆分为gem包,每个插件可以单独进行更新和维护,无需依赖Logstash的整体升级。这不仅提高了系统的灵活性和可维护性,还简化了插件的管理和部署过程。本文将详细介绍这些编码插件的功能、配置方法,并通过实际生产环境中的应用案例,展示其在日志处理和监控中的高效性和可靠性。 ... [详细]
  • MATLAB字典学习工具箱SPAMS:稀疏与字典学习的详细介绍、配置及应用实例
    SPAMS(Sparse Modeling Software)是一个强大的开源优化工具箱,专为解决多种稀疏估计问题而设计。该工具箱基于MATLAB,提供了丰富的算法和函数,适用于字典学习、信号处理和机器学习等领域。本文将详细介绍SPAMS的配置方法、核心功能及其在实际应用中的典型案例,帮助用户更好地理解和使用这一工具箱。 ... [详细]
  • 如何撰写适应变化的高效代码:策略与实践
    编写高质量且适应变化的代码是每位程序员的追求。优质代码的关键在于其可维护性和可扩展性。本文将从面向对象编程的角度出发,探讨实现这一目标的具体策略与实践方法,帮助开发者提升代码效率和灵活性。 ... [详细]
  • 本文详细介绍了批处理技术的基本概念及其在实际应用中的重要性。首先,对简单的批处理内部命令进行了概述,重点讲解了Echo命令的功能,包括如何打开或关闭回显功能以及显示消息。如果没有指定任何参数,Echo命令会显示当前的回显设置。此外,文章还探讨了批处理技术在自动化任务执行、系统管理等领域的广泛应用,为读者提供了丰富的实践案例和技术指导。 ... [详细]
  • 2018 HDU 多校联合第五场 G题:Glad You Game(线段树优化解法)
    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6356在《Glad You Game》中,Steve 面临一个复杂的区间操作问题。该题可以通过线段树进行高效优化。具体来说,线段树能够快速处理区间更新和查询操作,从而大大提高了算法的效率。本文详细介绍了线段树的构建和维护方法,并给出了具体的代码实现,帮助读者更好地理解和应用这一数据结构。 ... [详细]
  • 利用ZFS和Gluster实现分布式存储系统的高效迁移与应用
    本文探讨了在Ubuntu 18.04系统中利用ZFS和Gluster文件系统实现分布式存储系统的高效迁移与应用。通过详细的技术分析和实践案例,展示了这两种文件系统在数据迁移、高可用性和性能优化方面的优势,为分布式存储系统的部署和管理提供了宝贵的参考。 ... [详细]
  • 深入解析Java虚拟机的内存分区与管理机制
    Java虚拟机的内存分区与管理机制复杂且精细。其中,某些内存区域在虚拟机启动时即创建并持续存在,而另一些则随用户线程的生命周期动态创建和销毁。例如,每个线程都拥有一个独立的程序计数器,确保线程切换后能够准确恢复到之前的执行位置。这种设计不仅提高了多线程环境下的执行效率,还增强了系统的稳定性和可靠性。 ... [详细]
author-avatar
子新宥梅93
这个家伙很懒,什么也没留下!