Why do ZeroMemory, etc. exist when there are memset, etc. already?
问题 Why does ZeroMemory() , and similar calls exist in the Windows API when there are memset and related calls in the C standard library already? Which ones should I call? I can guess the answer is "depends". On what? 回答1: In C and C++, ZeroMemory() and memset() are the exact same thing. /* In winnt.h */ #define RtlZeroMemory(Destination,Length) memset((Destination),0,(Length)) /* In winbase.h */ #define ZeroMemory RtlZeroMemory Why use ZeroMemory() then? To make it obvious. But I prefer memset()