gpt4 book ai didi

c++ - 带有 getter/setter 的 memset 和 struct

转载 作者:行者123 更新时间:2023-12-01 14:38:59 26 4
gpt4 key购买 nike

我有一个简单的 pod 结构,例如:

struct T
{
int x;
float z;
}
我想将数据设为私有(private)并添加 getter/setter。我可以在那个结构上使用 memset 吗?
memset(obj, 0, sizeof(T)); 

最佳答案

I want to make a data private and add getters/setters. Can I use memset on that struct ?


是的,您可以使用 memset,只要该类可轻松复制,并且该对象不是可能重叠的子对象。
附言零字节的内存设置浮点数在 C++ 技术上并不保证将其设置为零,尽管它可能在大多数系统上都这样做。字节的任何其他值将更没有意义。
P.P.S 指针也有同样的问题:Null 不能保证所有位都为零。
P.P.P.S.如果您的意图是将值设置为零,我想不出使用 memset 0 而不是使用值初始化和赋值的充分理由。

关于c++ - 带有 getter/setter 的 memset 和 struct,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63111429/

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