是什么让 STL 如此快速? [关闭]

2023-11-26

如果按照通常实现的方式实现数组类,则其性能比 STL 等价物(如向量)要慢。那么是什么让 STL 容器/算法变得更快呢?


STL 算法如for_each采用可以轻松内联的函数对象。另一方面,C 使用函数指针,这对于编译器来说更难以优化。

这在某些算法(例如必须多次调用比较器函数的排序)中产生很大差异。

维基百科有更多信息如果你有兴趣的话。

EDIT:

至于 STL 的向量类,我认为它不一定比你在 glibc 中找到的更快。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是什么让 STL 如此快速? [关闭] 的相关文章

  • Exit() 时是否调用基本对象析构函数?

    我意识到这个问题已经出现过几次 但我试图获得上述问题的明确答案 但我不断遇到相互矛盾的信息 我需要知道的是 当我使用 exit 时 基本类对象是否被破坏 我知道需要删除动态内存 但我的意思更像是 include
  • Environment.CurrentDirectory 与 System.IO.Directory.GetCurrentDirectory

    我正在编写一个 Net WinForms 并不断在调试和发布配置之间切换 并且有一些文件我需要任一配置才能访问 我想做的是将文件放在 BIN 文件夹中的公共目录中 这样它看起来像这样 MyProject Bin CommonFiles My
  • 前向声明类型和“已声明为类类型的非类类型”

    我对以下代码有问题 template
  • MVC3中设置下拉列表中的所选项目

    我必须为视图中的下拉列表设置所选项目 但它不起作用 View div class editor label Html LabelFor model gt model Gender div div class editor field Htm
  • 传递 constexpr 对象

    我决定给予新的C 14的定义constexpr旋转并充分利用它 我决定编写一个小的编译时字符串解析器 然而 我正在努力保持我的对象constexpr将其传递给函数时 考虑以下代码 include
  • 处理右值时的 insert 与 emplace

    std string myString std unordered set
  • 如何在 C# Designer.cs 代码中使用常量字符串?

    如何在 designer cs 文件中引用常量字符串 一个直接的答案是在我的 cs 文件中创建一个私有字符串变量 然后编辑 Designer cs 文件以使用此变量 而不是对字符串进行硬编码 但设计者不喜欢这样抛出错误 我明白为什么这行不通
  • 不同 C++ 文件中的相同类名

    如果两个 C 文件具有相同名称的类的不同定义 那么当它们被编译和链接时 即使没有警告也会抛出一些东西 例如 a cc class Student public std string foo return A void foo a Stude
  • 如何使用 ASP.NET Core 获取其他用户的声明

    我仍在学习 ASP NET Core 的身份 我正在进行基于声明的令牌授权 大多数示例都是关于 当前 登录用户的 就我而言 我的 RPC 服务正在接收身份数据库中某个用户的用户名和密码 我需要 验证是否存在具有此类凭据的用户 获取该用户的所
  • C++中判断unicode字符是全角还是半角

    我正在编写一个终端 控制台 应用程序 该应用程序应该包装任意 unicode 文本 终端通常使用等宽 固定宽度 字体 因此要换行文本 只需计算字符数并观察单词是否适合一行并采取相应的操作 问题是 Unicode 表中的全角字符在终端中占用了
  • 是否使用 C# 数据集? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我对 C 中的数据集概念有点困惑 编码 ASP NET 站点 但这并不重要 在我的阅读中 我了解到它们 本质上 用作我的应用程序和我的
  • 如何将AVFrame转换为glTexImage2D使用的纹理?

    如您所知 AVFrame 有 2 个属性 pFrame gt data pFrame gt linesize 当我从视频 sdcard test mp4 android平台 读取帧后 并将其转换为RGB AVFrame副 img conve
  • 在 .NET MAUI 中实现 TouchTracking

    我一直致力于将我们的应用程序从 Xamarin Forms 迁移到 NET MAUI 我们的应用程序几乎没有绘图功能 用户可以用手指进行绘图 我们用了TouchTrackingXamarin Forms 中的 nuget 包 但与 NET
  • memcpy/memmove 到联合成员,这是否设置“活动”成员?

    重要说明 一些评论者似乎认为我是从工会抄袭的 仔细看memcpy 它从普通旧地址复制uint32 t 它不包含在联合中 另外 我正在复制 通过memcpy 到工会的特定成员 u a16 or u x in a union 不直接到整个联盟本
  • 为什么 java.util.Arraylist#clear 按照 OpenJDK 中的方式实现?

    http grepcode com file repository grepcode com java root jdk openjdk 6 b14 java util ArrayList java 473 http grepcode co
  • C++ 对象用 new 创建,用 free() 销毁;这有多糟糕?

    我正在修改一个相对较大的 C 程序 不幸的是 并不总是清楚我之前的人使用的是 C 还是 C 语法 这是在一所大学的电气工程系 我们 EE 总是想用 C 来做所有事情 不幸的是 在这种情况下 人们实际上可以逃脱惩罚 但是 如果有人创建一个对象
  • 了解 Lambda 表达式和委托 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已经尝试解决这个问题很长一段时间了 阅读在线博客和文章 但到目前为止还没有成功 什么是代表 什么是 Lambda 表达式 两者的优点
  • 在 Win32 控制台应用程序中设置光标位置

    如何在 Win32 控制台应用程序中设置光标位置 最好 我想避免制作句柄并使用 Windows 控制台功能 我花了整个早上沿着那条黑暗的小巷跑 它产生的问题比它解决的问题还要多 我似乎记得当我在大学时使用 stdio 做这件事相对简单 但我
  • 如何在 sql azure 上运行 aspnet_regsql? [复制]

    这个问题在这里已经有答案了 可能的重复 将 ASP NET 成员资格数据库迁移到 SQL Azure https stackoverflow com questions 10140774 migrating asp net membersh
  • 为什么空循环使用如此多的处理器时间?

    如果我的代码中有一个空的 while 循环 例如 while true 它将把处理器的使用率提高到大约 25 但是 如果我执行以下操作 while true Sleep 1 它只会使用大约1 那么这是为什么呢 更新 感谢所有精彩的回复 但我

随机推荐

  • 如何更改工具栏上的更改文本和箭头颜色?

    我目前正在使用新的材料设计指南构建一个应用程序 我使用的是工具栏而不是操作栏 我希望文本 溢出图标和箭头 汉堡图标 当您拉出导航绘图时翻转的东西 为白色而不是黑色 但我的主题的其余部分需要是 AppCompat light 主题 如果有人可
  • 让 ApiController 与区域一起工作?

    目前 我的 ASP NET MVC 5 项目中有 2 个区域 一种叫做支持者 一个称为Chatter 在这两个区域中的每一个区域中 都有一个ApiController named CommunicationController 这会带来一个
  • 读取时如何忽略 CSV 中的空行

    尝试使用以下命令读取具有空行 通常在末尾 的 CSV 文件CsvHelper GetRecords
  • 来自 requests Python 库的 HTTP 请求中缺少 Host 标头

    哪儿是HTTP 1 1 强制 Host 标头字段在HTTP请求消息中生成requestsPython 库 import requests response requests get https www google com print re
  • Gradle build.gradle 到 Maven pom.xml

    我有一个 Gradle 项目 我需要将其所有依赖项转移并与另一个 Maven 项目一起使用 换句话说 我如何从 build gradle 生成 或者可以生成 pom xml 从 Gradle 7 开始 当使用Gradle 的 Maven P
  • 使用 z3 获得“良好”的 unsat 核心(逻辑 QF_BV)

    我正在使用 Z3 SMT 求解器来解决我使用 SMTLIB 2 语言在逻辑 QF BV 中表达的问题 该模型是不可满足的 我正在尝试让求解器产生一个不满足的核心 我的模型由几个 强制 约束组成 我使用assert声明 我希望考虑用于 uns
  • Java 15 的密封类功能中的最终类和非密封类有什么区别?

    我有以下密封接口 Java 15 public sealed interface Animal permits Cat Duck String makeSound 该接口由2个类实现 public final class Cat imple
  • iPad 上的 jQuery 鼠标悬停

    我有一个 jQuery 代码 可以在桌面浏览器上完美运行 span checkbox err mouseout function span checkbox err fadeOut slow 但同样的情况不会在 iPad 上触发 因此 ch
  • 您首选的 php 部署策略是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我正在开始一个 PHP 的
  • @property(非原子,retain)语句在应用程序中的用途是什么?

    我是一名初学者 iphone 开发人员 我想知道 property nonatomic retain 语句的用途是什么 例如 任何人都可以给我任何答案吗 财产告诉 Objective C 为该成员变量生成 getter 和 setter 合
  • 无限循环滑块概念

    我想知道使用 JavaScript jQuery 为网站构建无限图像循环滑块的最佳概念是什么 良好的可读代码 害虫实践代码 可重用性 我不知道如何编码幻灯片放映 但什么蓝图符合上述要求 我的问题的主要焦点是如何排列图片以获得无限循环滑块的印
  • onActivityResult() 在新的嵌套片段 API 中未调用

    我一直在用新的嵌套片段Android 包含在支持库中的 API 我面对嵌套片段的问题是 如果一个嵌套片段 即 通过FragmentManager由返回getChildFragmentManager calls startActivityFo
  • 如何在 Android 中使用 Java 和 org.json 迭代这个 JSON 数组?

    我的 JSON 字符串看起来像这样 包含在名为的字符串变量中 sJSON id 284 name John surname Doe name Jane surname Doe 我能够像这样解析第一个数组 使用 Java 并导入 org js
  • Magento - 如何检索捆绑的选项图像

    我一直在致力于我的第一个 magento 部署 建立了一个非常定制的主题 现在解决一些非标准定制 我的主要产品类型之一是办公椅 我将其设置为捆绑产品 此产品类型有许多选项 大约 100 种面料选项 手臂样式 腰部 头枕等 我需要能够在目录
  • 为什么我不能在 `const filter_view` 上调用 `ranges::begin` ? [复制]

    这个问题在这里已经有答案了 我无法打电话ranges begin on a const filter view https en cppreference com w cpp ranges filter view the begin and
  • Gradle 将 Spring Boot 应用程序构建为具有活动配置文件的战争

    我想将我的 Spring Boot 应用程序打包为war对于特定的配置文件 这可以通过设置 spring profiles active 来完成个人资料名称在 application properties 文件中 是否可以在构建战争时将其设
  • jQuery Mobile 面板宽度

    在新的 jQuery mobile 中 有一个新的面板选项 我已经实现了这个并且它有效 但我想自定义面板的宽度 标准宽度是272px 对于我的使用来说有点多了 我尝试过使用 ui panel width 150px CSS 选择器 但这只是
  • PHP isset() 在 C/C++ 中的对应部分

    PHP 有一个非常好的函数 isset variableName 它检查 variableName 是否已在程序中定义 我们可以为 C C 构建类似的功能 某种符号表查找 吗 我是一名 C 人员 但我记得在 PHP 中 isset 用于检查
  • objc_setAssociatedObject 和 objc_getAssociatedObject 有什么问题吗?

    我正在研究向所有属性添加属性 在本例中为整数 的方法UIView实例 无论它们是否是子类 正在使用objc setAssociatedObject and objc getAssociatedObject 在一个类别中 有什么合适的 苹果认
  • 是什么让 STL 如此快速? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 如果按照通常实现的方式实现