我有以下代码,我有信心从垃圾内存中读取,但 clang sanitizers 不会抱怨。
我可以做些什么来让它们触发,或者我应该接受它作为限制/错误?
#include <algorithm>
#include <iostream>
#include <vector>
struct B{
int x;
};
struct D : public B{
short y;
D& operator = (const D& other) {
y = other.y;
return *this;
}
};
int main() {
D var1{4,7},var2;
var2=var1;
std::cout << var2.x << " " << var2.y << std::endl;
}
我曾尝试设置 O0,因为这有时会有所帮助,但这次没有。
我也愿意使用 gcc,但我认为 gcc 没有内存清理器,只有 asan。