使用指针初始化结构数组 - C++..
Initialize Array of Structs Using Pointer - C++...?
如何使用
指针初始化此结构数组?我尝试将输入读取到结构变量中,并得到垃圾输出,但是当我初始化静态数组时,我输出了正确的变量。
unsigned int data = numberOfLines();
patient *q; //struct pointer
q = new patient[data];
//What I want to do
q = new patient[data] = {0,0,0,0,0}; // initialize the array
你可能想要std:: fill()
:
#include <algorithm>
patient *patients = ...;
size_t count = ...;
std::fill(patients, patients + count, DEFAULT_PATIENT_VALUE);
也许您正在寻找一种优雅的解决方案来清除整个结构数组:
memset(q, 0, sizeof(patient) * data);
(假设您的结构仅包含 POD 类型)
如果您使用的是非 POD 类型,请遍历患者数组并初始化每个单元格。
如果你想变得花哨,你可以通过创建一个函数来做到这一点来获得一点灵活性。
patient * createInitializedPatientArray(patient defaultPatient, int length)
{
patient * temp = new patient[length];
for(int x = 0; x < length; x++)
temp[x] = defaultPatient;
return temp;
}
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组的地址分配给变量并删除
- 从C++本机插件更新Vector3数组
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 数组索引的值没有增加
- 将对象数组的引用传递给函数
- 为char数组调整zlib-zpipe
- 2D数组来自文本输入,中间有空格
- std::向量与传递值的动态数组
- 在c++中用vector填充一个简单的动态数组
- 使用strcpy将char数组的元素复制到另一个数组
- 使用指针从C++中的数组中获取最大值
- C++使用整数的压缩数组初始化对象
- 告诉一个 const char 数组,除了编译时 C 样式的字符串外,它不以 '