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:默认初始化(如上所述)是否比通过整个数组的通常循环更快并分配一个值还是做同样的事情?
是否有一个版本的memset()设置一个大于1字节(char)的值?例如,假设我们有一个memset32()函数,所以使用它我们可以执行以下操作:
int32_t array[10];
memset32(array, 0xDEADBEEF, sizeof(array));
Run Code Online (Sandbox Code Playgroud)
这将在数组的所有元素中设置值0xDEADBEEF.目前在我看来,这只能通过循环来完成.
具体来说,我对64位版本的memset()感兴趣.知道这样的事吗?