c++ - 带有 getter/setter 的 memset 和 struct
问题描述
我有一个简单的 pod 结构,例如:
struct T
{
int x;
float z;
}
我想将数据设为私有并添加 getter/setter。我可以在那个结构上使用 memset 吗?
memset(obj, 0, sizeof(T));
解决方案
我想将数据设为私有并添加 getter/setter。我可以在那个结构上使用 memset 吗?
是的,您可以使用 memset,只要该类可轻松复制,并且该对象不是潜在重叠的子对象。
零字节的 PS Memsetting 浮点数在 C++ 技术上不保证将其设置为零,尽管它可能在大多数系统上都这样做。字节的任何其他值将更没有意义。
PPS 指针也有同样的问题:Null 不能保证所有位都为零。
PPPS 如果您打算将值设置为零,我想不出使用 memset 0 而不是使用值初始化和赋值的充分理由。
推荐阅读
- javascript - 获取获取内容?
- c - 理解和操作指向整数数组的指针
- c++ - 如何编写已继承的大纲构造函数?
- python - 根据字典中的键和值删除重复的字典
- python - 使用 selenium 在 python 中选择单选按钮并从中获取相应的值
- java - WSO2 API Manager 多租户环境中启用 SaaS 的应用程序中的授权服务中介
- python - 如何从 csv 插入 dynamodb
- c++ - 俄罗斯农民指数hackerrank问题
- sql-server - 与 SQL Server 的远程连接未更新数据
- javascript - Javascript:字体大小增加/减少移动文本