指出下面代码可能导致的问题 struct_tagA { double m_val; map<int, double> m_map; _tagA() { ZeroMemory(this, sizeof(_tagA)); } };
时间: 2024-05-29 20:10:33 浏览: 63
structs乱码问题
1. struct_tagA 应该是 _tagA,因为定义和构造函数名称不一致;
2. ZeroMemory(this, sizeof(_tagA)) 可能会导致 m_map 的内存被清零,进而导致 map 中的元素丢失或出现异常;
3. 构造函数应该初始化成员变量,而不是使用 ZeroMemory。
阅读全文