gpt4 book ai didi

c++ - 如何确定存储在数组中的项目数?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:08:09 24 4
gpt4 key购买 nike

我有一个大小为 5 的字符串数组,其中有 n 个元素。我如何确定 n?我试过 sizeof(array)/sizeof(array[0]),但它返回数组的大小,即 5。我的代码是:

#include <iostream>
#include <string>
using namespace std;

int main()
{
string array[5];
array[0] = "pie";
array[1] = ":P";
array[2] = "YELLOW";
cout << sizeof(array)/sizeof(array[0]);
}

最佳答案

I have a string array of size 5, and I have n elements in it. How could I determine n?

n 是 5。你的数组有 5 个元素,因为你声明它是 5 个字符串的数组。 array[3]array[4] 只是空字符串 (""),但它们仍然存在,并且是完全有效的元素.

如果你想计算你的数组有多少个非空字符串,你可以使用例如std::count_if使用 lambda:

int numberOfNonEmptyStrings = count_if(begin(array), end(array),
[](string const& s) { return !s.empty(); });

或手工制作的循环:

int numberOfNonEmptyStrings = 0;
for (auto const& s : array)
if (!s.empty())
++numberOfNonEmptyStrings;

关于c++ - 如何确定存储在数组中的项目数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33966227/

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