progs.biz  
Начало>C/C++>Основы C++>Урок 42
C#
VB.NET
Visual C++.NET
ASP.NET
Visual C++ 6
WinAPI
C/C++
Delphi
C++ Builder
Java
SQL
PHP
DirectX
Visual Basic 6.0
Ассемблер
Интернет
Сист. прогр-ние
Pocket PC
Обзор книг
Обзор программ

Бьерн Страуструп. Язык программирования С++. Специальное издание
Бьерн Страуструп. Язык программирования С++. Специальное издание
Заказать на Озоне



Яндекс-цитирования

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.

Рассылки нашего сайта на Subscribe.Ru
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET new!
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


 
 
Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2008 сайт progs.biz
© 2002-2008 Игорь Алексеев