相关疑难解决方法(0)

使用一个默认值初始化普通数组

C++注意事项:数组初始化有一个很好的列表初始化列表.我有一个

int array[100] = {-1};
Run Code Online (Sandbox Code Playgroud)

期望它充满-1,但它不是,只有第一个值,其余的是0与随机值混合.

代码

int array[100] = {0};
Run Code Online (Sandbox Code Playgroud)

工作正常,并将每个元素设置为0.

我在这里想念的是什么..如果值不为零,不能初始化它吗?

2:默认初始化(如上所述)是否比通过整个数组的通常循环更快并分配一个值还是做同样的事情?

c c++ arrays initialization default-value

230
推荐指数
9
解决办法
40万
查看次数

memset()是否接受大于char的整数?

是否有一个版本的memset()设置一个大于1字节(char)的值?例如,假设我们有一个memset32()函数,所以使用它我们可以执行以下操作:

int32_t array[10];
memset32(array, 0xDEADBEEF, sizeof(array));
Run Code Online (Sandbox Code Playgroud)

这将在数​​组的所有元素中设置值0xDEADBEEF.目前在我看来,这只能通过循环来完成.

具体来说,我对64位版本的memset()感兴趣.知道这样的事吗?

c optimization

31
推荐指数
5
解决办法
2万
查看次数

标签 统计

c ×2

arrays ×1

c++ ×1

default-value ×1

initialization ×1

optimization ×1