gpt4 book ai didi

c++ - 获取结构中元素的数量

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

我有一个结构:

struct KeyPair 
{
int nNum;
string str;
};

假设我初始化了我的结构:

 KeyPair keys[] = {{0, "tester"}, 
{2, "yadah"},
{0, "tester"}
};

我将创建多个不同大小的结构实例。因此,为了能够在循环中使用它并读取它的内容,我必须获取结构中的元素数量。如何获取结构中的元素数量?在这个例子中,我应该得到 3,因为我初始化了 3 对。

最佳答案

如果您正在尝试计算 keys 数组的元素数量,您可以简单地执行 sizeof(keys)/sizeof(keys[0])

重点是 sizeof(keys) 的结果是内存中键数组的字节大小。这与数组的元素数不同,除非元素的长度为 1 个字节。要获得元素的数量,您需要将字节数除以元素类型的大小,即 sizeof(keys[0]),这将返回 的数据类型的大小键[0]

这里的重要区别是理解 sizeof() 对数组和数据类型的行为不同。您可以将两者结合起来以实现您的需要。

http://en.wikipedia.org/wiki/Sizeof#Using_sizeof_with_arrays

关于c++ - 获取结构中元素的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4275921/

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