我听说过C++程序员应避免使用memset,
class ArrInit {
//! int a[1024] = { 0 };
int a[1024];
public:
ArrInit() { memset(a, 0, 1024 * sizeof(int)); }
};
因此,考虑以上代码,如果不使用memset,如何将[1..1024]填充为零?C++中的memset有什么问题?
谢谢。
最佳答案
问题不是在内置类型上使用memset()而是在类(又名非POD)类型上使用它们。这样做几乎总是会做错事,而经常会做致命的事-例如,它可能会践踏虚函数表指针。
关于c++ - C++程序员应该避免使用memset吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1975916/