我有一个256位值的数组.该数组是巨大的(数百万条记录),但它很少被修改,它适合内存.对于给定的256位数,我想查找是否存在至少N位相等的记录.例如,10000和01111的0位相等,1000和1001的3位相等.总是N> 128,或者更确切地说N> 140.我不需要找到特定的数字,我只需要查找列表中是否存在这样的数字.
是否有一种数据结构或某种索引可以某种方式加速搜索?
考虑以下代码:
class Base1 { public: int a1; };
class Base2 { public: int a2; };
class Foo: public Base1, public Base2 {}
int main() {
Foo *foo = new Foo();
Base2 *b = foo;
delete b; // note pointer foo != pointer b
}
Run Code Online (Sandbox Code Playgroud)
删除如何知道应该释放的内存从哪里开始?
由于所有类仅包含原子整数,因此在这种特殊情况下是否需要虚拟析构函数?