Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使数组的内存效率更高

使数组的内存效率更高
EN

Stack Overflow用户
提问于 2017-06-17 22:44:31
回答 2查看 165关注 0票数 1

我是一个c++初学者,目前我正在开发一个哈希表来适应这种语言(线性哈希)。

为此,我创建了一个名为"Bucket“的内部类。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Bucket {
public:      
    Bucket* nextBucket;
    size_type currentUsedFields;
    key_type fields[BUCKET_SIZE];
(...)
}

现在我在想,我是否可以让它更有内存效率,因为这个key_type数组确实一次分配所有内存,而不是在真正需要它的时候。有没有合适的方法来做到这一点呢?

如果我不将key_type对象复制到数组中,我认为它将不再有效。因此,保存指向对象的指针并不是一个真正的选项,不是吗?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
key_type* add(const key_type& key)

我希望你能给我一些提示,如何做更多的内存优化编程。我也期待着进一步的改进。下面是我写的代码:https://pastebin.com/NnucGm35

EN

回答 2

Stack Overflow用户

发布于 2017-06-17 22:53:51

c++中,要做的就是使用std::vector。每次必须创建一个字段时,您只需将该字段推回到向量中,就完成了。

票数 1
EN

Stack Overflow用户

发布于 2017-06-17 23:21:36

对于学习,您可以创建具有相同字段的struct RawBucket,但是使用malloc分配,然后使用realloc。它有点低级的内存管理,但它是一个很好的体验。

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44610089

复制
相关文章
使用AMP的PyTorch模型更快,内存效率更高
您是否知道反向传播算法是Geoffrey Hinton 在1986年的《自然》杂志上提出的?
代码医生工作室
2020/03/11
2.5K0
如何使JavaScript更高效
传统的 Web 页面不会包含很多脚本,至少不会太影响 Web 页面的性能。然而,Web 页面变得越来越像应用程序,脚本对其的影响也越来越大。随着越来越多的应用采用 Web 技术开发,脚本性能的提升就变得越来越重要。
疯狂的技术宅
2019/03/28
1.6K0
PHP 中数组函数 isset 效率比 array_key_exists 更高
isset 和 array_key_exists 函数都可以用来测试数组中变量是否存在:
Denis
2023/04/15
5610
SQL优化——IN和EXISTS谁的效率更高
IN和EXISTS被频繁使用在SQL中,虽然作用是一样的,但是在使用效率谁更高这点上众说纷纭。下面我们就通过一组测试来看,在不同场景下,使用哪个效率更高。
数据和云
2021/08/27
5.8K0
SQL优化——IN和EXISTS谁的效率更高
使数组唯一的最小增量
第一种:暴力解决 用数组统计每个数出现的次数,每次递增1,直到增加到一个没有重复出现过得数字位置。这种时间复杂度大,可以为 O(n^2)
木子星兮
2020/07/16
6600
C和C++哪个效率更高?
前几天发了一篇推送涉及c和c++,评论区大家对c和c++哪个效率更高这个问题比较感兴趣,今天小编就和大家一起讨论一下这个问题!
C语言与CPP编程
2021/03/07
9180
C和C++哪个效率更高?
前几天发了一篇推送涉及c和c++,评论区大家对c和c++哪个效率更高这个问题比较感兴趣,今天小编就和大家一起讨论一下这个问题!
Power7089
2020/07/25
1.4K0
让你 vscode 写代码效率更高的技巧
vscode 是我们写代码常用的编辑器,它的功能很多,但其实我们有很多功能都没用到,这篇文章就是想梳理下那些可能你不知道的但是却对效率提高很有帮助的一些技巧。
@超人
2021/07/29
8510
让你 vscode 写代码效率更高的技巧
边缘计算与云计算:哪种效率更高?
云计算为我们提供了在远程数据服务器上存储、管理和分析信息的机会。同时,该技术也存在数据处理延迟等缺点。这就是为什么在使用云计算处理时间紧迫的任务时,您可能会面临各种困难。幸运的是,边缘计算的发展可能有助于克服这一挑战。
CloudBest
2023/03/03
2K0
边缘计算与云计算:哪种效率更高?
Java中clone( )和new效率哪个更高?
利用clone,在内存中进行数据块的拷贝,复制已有的对象,也是生成对象的一种方式。
Vincent-yuan
2021/12/08
1.1K0
Java中clone( )和new效率哪个更高?
20 个让你效率更高的 CSS 代码技巧
在这里想与你分享一个由各大CSS网站总结推荐的20个有用的规则和实践经验集合。有一些是面向CSS初学者的,有一些知识点是进阶型的。希望每个人通过这篇文章都能学到对自己有用的知识。
苏南
2020/12/16
5880
20 个让你效率更高的 CSS 代码技巧
【算法】使数组有序的最小交换次数
相关参考: 数组排序 使得交换次数最少 ,该文章中代码出现了一处错误,看起来作者好像很长时间没有更新了,在此纠正下。 TsReaper-6235. 逐层排序二叉树所需的最少操作数目,参考该题解的评论区的作者解答,进行纠正。 贪心思想,每一步使得对应元素放到它该放的位置。 先将要排序的数组复制一份,然后将其排序,使用哈希表记录排序后的数组对应元素与其对应下标。 遍历原数组与排序后的数组,如果对应下标不相等,则根据哈希表记录该元素的下标进行交换。 int getMinSwap(vect
半生瓜的blog
2023/05/13
4380
【算法】使数组有序的最小交换次数
内存中的数组
1、数组是一种引用数据类型,数组引用变量只是一个引用,数组元素和数组变量在内存里是分开存放的。 2、引用变量是访问真实对象的根本方式,如果程序中要访问数组对象本身,则只能通过这个数组的引用变量来访问它。 3、实际的数组对象被存储在堆内存中;如果引用该数组对象的数组引用变量是一个局部变量,那么它被存储在栈内存中。
程序员云帆哥
2022/05/12
1.1K0
内存中的数组
Smart Greybox Fuzzing:功能更强效率更高
近期,有一群研究人员设计出了一种智能灰盒模糊测试模型,他们声称这种Fuzzer模型在搜寻代码库(解析复杂文件)漏洞方面跟现有Fuzzer相比,新模型的漏洞挖掘效率会更高。
FB客服
2018/12/28
8810
分类管理你的度量值,这样做效率更高
无论是Power BI 还是在Excel的Power Pivot中,当度量值非常多的时候,我们都有必须将度量值分门别类地进行分类管理。本期文章,我们将讲解如何在Excel的Power Pivot和Power BI中分别对度量值进行分类管理,方便我们对度量值进行管理和维护。 ---- 本期导读 一、Excel的Power Pivot中用表管理度量值 二、Power BI中按文件夹分类管理度量值 ---- 一、Excel的Power Pivot中用表管理度量值 在Excel的Power Pivot中,可以按不
博文视点Broadview
2023/04/04
1.5K0
分类管理你的度量值,这样做效率更高
# 学会这些 Web API 使你的开发效率翻倍
随着浏览器的日益壮大,浏览器自带的功能也随着增多,在 Web 开发过程中,我们经常会使用一些 Web API 增加我们的开发效率。
九旬
2023/10/19
4400
java——内存中的数组
2、arr=new int[5],这段代码执行完成后,系统会在堆内存中为该数组分配一块内存空间,并初始化值0,如下图所示:
说故事的五公子
2019/09/11
1.1K0
java——内存中的数组
对象数组的内存图解
对象数组的概述和案例(掌握) (1)对象数组的概述     数组既可以存储基本数据类型,也可以存储引用类型。它存储引用类型的时候的数组就叫对象数组。 (2)对象数组的案例     我有5个学生,请把这个5个学生的信息存储到数组中,并遍历学生数组,获取得到每一个学生的信息。
黑泽君
2018/10/12
1.7K0
WASI如何使容器化更有效率
WebAssembly,或 Wasm[1],是一种标准化的二进制格式,它允许用任何语言编写的软件在任何平台上、在沙箱或运行时(即虚拟机)内以接近本机的速度运行,无需定制。由于这些运行时与它们的宿主环境是隔离的,WebAssembly 系统接口(WASI)为开发人员提供了一种单一的、标准的方法来调用任何平台上存在的低级函数。采用 Wasm 的开发人员可以自由地编写软件,不用理软件将在哪里运行。
CNCF
2021/05/27
1.8K0
点击加载更多

相似问题

Java数组的效率更高

14

数组比字典效率更高

80

内存效率比numpy.where更高?

10

如何使if/else链具有更高的效率

25

While循环和For循环,哪个内存效率更高!

51
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文