刚打算写一下博客,就被叫去加班,还好很快就回来了,不然flag又要鸽在这里了~
最近有在封装多传感器,借用桥接模式,但是搞得还是不那么满意,遇到指针取数据的问题,在这里记录一下~
来看这段代码:
int main()
{
void* x = nullptr;
getArray(10, &x);
for (size_t i = 0; i < 10; i++)
{
cout << *((int*)x+i) << endl;
}
free(x);
x = nullptr;
}
void getArray(int nums, void** data)
{
auto size = nums * sizeof(int);
*data = static_cast<int*>(malloc(size));
for (size_t i = 0; i < nums; i++)
{
*((int*)*data+i) = i;
}
//memset(*data, 0x4, size);
}
上面的代码涉及到两个主要的问题:
1.二级指针;
2.memset赋值非0数值。
二级指针
这里有一篇博客讲得很好,就不做重复的事情了~
关于指针使用结束的释放,可以看这里;
memset()
可以看这里~