C/C++ Урок 42. Функция ZeroMemory
Функция ZeroMemory предназначена для обнуления памяти. Она похожа на функцию memset, за исключением того, что последняя может заполнять память любыми значениями. Функция же ZeroMemory может заполнять память только нулями. У этой функции два параметра: первый определяет, начиная с какого места в памяти мы делаем ее обнуление и второй определяет, сколько байт мы обнуляем.
Вот пример использования этой функции:
#include <iostream>
using namespace std;
#include <Windows.h>
class CSomeClass{
public:
int a;
int b;
};
void main(){
CSomeClass z;
ZeroMemory(&z, sizeof(z));
cout << "a = " << z.a << "\n" << "b = " << z.b << "\n";
}
После выполнения указанного кода все поля класса обнуляться, хотя явным образом (например, через присваивание) мы их нигде не обнуляем. Первоначально в них находился некоторый мусор - так у нашего класса нет конструктора, в котором мы бы обнуляли его поля. В этом легко убедиться, закомментировав строку с вызовом функции ZeroMemory.
|