【发布时间】:2022-01-12 01:27:37
【问题描述】:
这更像是一个礼仪问题,但在创建新数组时,除了零之外,我应该使用什么值来指示数组中的空白空间? 例如:
int* arr;
arr = new int[10];
当我在上面的代码中创建一个新数组时,该数组将被十个零填充。我遇到的问题是我想在打印数组时使用下划线来指示空格,但是,我也有零作为数组中数据集的一部分。那么,我是否应该用一些不太可能出现在我的数据集(like -32000 for example) 中的任意值填充空数组,并将其用作空白空间的指示符,或者是否可以使用某种空值来代替这样我就可以知道该特定索引处的值肯定是一个空格?
【问题讨论】:
-
我很确定当你像上面的代码那样创建一个新数组时,它不会被十个零填充。至少,不符合 C++ 标准。
-
int的“空值”可能为零。因此,如果可能,您必须选择其他一些未使用的值。否则你可以有另一个数组bool is_used[10]来跟踪使用情况, -
没有普遍认可的价值。您将不得不查看您预期的数据集并选择一个带外值,该值不能存在于该集中。或者有一个与数据一起使用的状态标志来标记特定读数是否有效。
-
数组没有空格。虽然您可以使用
std::optional<int>的数组