gpt4 book ai didi

c++ - 如何检查对象数组是否为空/空?

转载 作者:行者123 更新时间:2023-11-30 03:54:12 27 4
gpt4 key购买 nike

假设我有一个这样声明的对象数组:

Object Array[100];
int count = 0;
bool exit;

do
{
if (Array[count] == "")
{
//code that stores data
exit = true;
}
else
{
count++;
}
}
while (exit != true);

我一直收到编译器的错误提示:

error: no match for ‘operator==’ in ‘Array[count] == ""'

我知道我可以使用 for 循环函数来正确存储它们,甚至可以使用 vector ,但是现在,我必须使用此方法来检查数组是否为空/null。知道怎么做吗?我在这里看到了很多例子,但几乎都是 string/int/float 等等数组。

最佳答案

数组本身不能为“空”。

Object Array[100];

是创建 100 个 Object 数组的声明。它们已经构建并存在(如果默认可构建)。

如果 Object 类型有一些“空”状态的概念,您可以检查它(例如 std::vector 提供成员 。 empty() 检查是否为空。)或者您可以使用一个容器来保存您的数据(这也使它成为堆的一部分而不是堆栈内存并启用动态调整大小)。

std::vector<Object> vec;
int count = 0;
// do stuff...
do
{
if (count >= vec.size())
{
//code that stores data
exit = true;
}
else
{
count++;
}
}
while (exit != true);

而你也可以说 std::size_t count = vec.size();

关于c++ - 如何检查对象数组是否为空/空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29728784/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com