c++ - 如何检查数组更新

标签 c++ arrays memory

我的程序中有一些数据类型的数组(整数、字符串,甚至是用户定义的类对象)和多个线程。我希望能够找到数组在用某些值初始化后是否已更新。一种想法是关联数组中值的散列,每当我想检查数组是否已更新时,重新计算散列。在 c++ 中还有其他方法吗?或者我们可以检查自上次检查以来内存地址范围是否已更新?

谢谢

最佳答案

您可以将数组封装在一个类模板中,该模板为您需要的任何读写操作提供外观,并在更新时标记数组 dirty - 重置 dirty 标记在每次检查中。

不确定如何在多个读取器/写入器线程中实现这种可靠性,但我想这取决于访问模式和您想要的确切语义。

[散列不起作用,因为散列总是会发生冲突。]

关于c++ - 如何检查数组更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4288995/

相关文章:

c++ - 为 i686-elf 交叉编译和链接 libstdc++(在 Ubuntu 16.04 上使用 g++)

c++ - 如何在保留任何以前的格式的同时将文本插入 Win32 中的 Rich Edit 控件

python - 使用列表理解创建 numPy 数组

c++ - C++ 中的类/函数模板占用了我的二进制文件的百分比是多少?

c++ - 局部自动函数变量的销毁与返回值的构造之间的顺序

javascript - 将 javascript 数组处理转换为 jQuery

php - 如何合并两个没有唯一键的关联数组的输出?

java - JVM 是否有最坏的情况实现?

memory - D/Tango 中的 malloc 和 free 不释放内存?

iphone - UIWebView 加载 .RTF 文件时泄漏内存?