我想知道是否有一种方法可以清除输入到结构化数组中的内存/数据?
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/