相关疑难解决方法(0)

memset()或值初始化将结构清零?

在Win32 API编程中,通常使用struct具有多个字段的C s.通常只有其中几个具有有意义的值,而其他所有值都必须归零.这可以通过以下两种方式之一实现:

STRUCT theStruct;
memset( &theStruct, 0, sizeof( STRUCT ) );
Run Code Online (Sandbox Code Playgroud)

要么

STRUCT theStruct = {};
Run Code Online (Sandbox Code Playgroud)

第二个变体看起来更干净 - 它是一个单行,它没有任何可能输错的参数并导致错误被种植.

与第一个变体相比,它有任何缺点吗?使用哪种变体?为什么?

c c++ struct initialization visual-c++

63
推荐指数
6
解决办法
7万
查看次数

为什么存在memset等时存在ZeroMemory等?

为什么ZeroMemory()在C标准库中存在memset和相关调用时,Windows API中存在类似的调用?我应该打电话给哪些人?我猜可以回答"依赖".什么?

c c++ windows winapi memset

25
推荐指数
6
解决办法
2万
查看次数

标签 统计

c ×2

c++ ×2

initialization ×1

memset ×1

struct ×1

visual-c++ ×1

winapi ×1

windows ×1