gpt4 book ai didi

C++ 将结构数组清零?

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

struct OBJECT
{
unsigned int Var1;
std::string Str1;
...
bool YesNo;
};

OBJECT Obj[ 327 ];

我对如何将 Obj 归零感到困惑。它有几种不同类型的元素。我是否必须将其所有成员设置为 0?就像... Obj[0].Str = "";?那么问题来了,正确的做法是什么?

我的尝试:

::memset( &Obj, 0, sizeof( Obj ) );

我不确定我这样做是否正确......

哦,有什么更快的方法可以将数组清零吗?

最佳答案

不要这样做,因为你的结构中有非常重要的成员(例如 std::string)。如果您的所有成员都只是简单的数据类型,例如 intchardouble 或指针,您可以这样做。

这种结构的正确方法是定义一个构造函数,它正确地初始化所有成员

struct OBJECT {
OBJECT() : Var1(0), YesNo(false), ... {}

unsigned int Var1;
std::string Str1;
...
bool YesNo;
};

关于C++ 将结构数组清零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15407242/

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