memset(parent, -1, sizeof(parent));
时间: 2023-08-18 14:09:25 浏览: 147
cocos2d-x实现全屏
5星 · 资源好评率100%
这段代码的作用是将 `parent` 数组中的所有元素都设置为 `-1`。具体来说,该函数将 `parent` 所指向的内存块中的每个字节都设置为 `-1`,设置的字节数为 `sizeof(parent)`。
在 C++ 中,`memset` 函数定义在头文件 `cstring`(或 `string.h`)中。其函数原型为:
```c++
void* memset(void* ptr, int value, size_t num);
```
其中,`ptr` 表示需要设置的内存块的起始地址,`value` 表示需要设置的值,`num` 表示需要设置的字节数。该函数的作用是将 `ptr` 指向的内存区域中的前 `num` 个字节都设置为 `value`。
需要注意的是,`value` 的类型是 `int`,但实际上只有 `unsigned char` 类型的值才有定义,因此我们通常会使用字符常量来表示需要设置的值。例如,在上面的例子中,我们使用 `-1` 来表示所有位都为 1 的二进制数,即字符常量 `0xFF`。
下面是一个简单的示例:
```c++
#include <iostream>
#include <cstring>
int main() {
int arr[5];
std::memset(arr, 0, sizeof(arr)); // 将 arr 数组中的所有元素都设置为 0
for (int i = 0; i < 5; i++) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
return 0;
}
```
在上面的示例中,我们使用 `memset` 函数将整数数组 `arr` 中的所有元素都设置为 0。最后输出结果应该为 `0 0 0 0 0`。
阅读全文