c++ - 如何清除 C++ 结构化数组中的数据?

标签 c++

我想知道是否有一种方法可以清除输入到结构化数组中的内存/数据?

struct order{
int qtyData;
double priceOrder;
string nameOrder;
}food[20];
//Clear the Arrays <-- Error!!!
fill_n(food[20].qtyData, 20, 0);
fill_n(food[20].priceOrder, 20, 0.00);
fill_n(food[20].nameOrder, 20, "");

最佳答案

不确定我是否正确理解你的问题,但你可以 一次分配一个完整的结构,像这样:

    std::fill_n(std::begin(food), 20, order{0, 0.0, ""});

这会用 order{0, 0.0, ""} 覆盖数组 food 中的 20 个条目, 从头开始。

如果您改用 std::fill,则不必像这样重复大小:

    std::fill(std::begin(food), std::end(food), order{0, 0.0, ""});

它填充所有元素,无论数组的大小如何。

关于c++ - 如何清除 C++ 结构化数组中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57206475/

相关文章:

c++ - 动态链接库(dll/so)中char*类型的函数参数

c++ - 异常错误 : expected unqualified-id before ')' token

C++,散列数组数据的好方法是什么?

c++ - 如何获取 ConnectEx() 指针

c++ - 使用 MinGW 将 C 代码转换为 .gba

c++ - 删除链表中的后面元素

c++ - 为什么在 HowardHinnant 的 date.h 库中没有用于 to_stream 和 from_stream 格式的毫秒标志

c++ - 如何避免boost中的有理数标准化?

c++ - 如何将 cin 转换为 int _value :1; C++

c++ - 不要用 system() 打开控制台输出