C++11怎么将sizeof用于类成员
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章主要讲解了"C++11怎么将sizeof用于类成员",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C++11怎么将sizeof用于类成员"吧!s
千家信息网最后更新 2025年12月01日C++11怎么将sizeof用于类成员
这篇文章主要讲解了"C++11怎么将sizeof用于类成员",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C++11怎么将sizeof用于类成员"吧!
sizeof运算符
sizeof运算符返回表达式或者类型所占内存空间的字节数。它返回一个size_t类型的常量表达式。
假设有下面的结构体:
struct Point3d{int x;
int y;
int z;
};
可以这样进行初始化:
Point3d pt;
memset(&pt, 0, sizeof(pt));
也可以这样初始化:
Point3d pt1;
memset(&pt1, 0, sizeof(Point3d));
也可以批量初始化:
Point3d ptarray[100];
memset(ptarray, 0, sizeof(ptarray));
许多和内存操作相关的处理都需要知道数据或类型占用内存空间的大小。这时就可以使用sizeof运算符。sizeof计算的对象可以是数据,也可以是类型。
有一点需要注意的是,如果运算的对象是指针,那么取得的就只能是指针本身的大小而不是指针指向数据的大小。例如下面的代码就不能初始化所有的x数组元素。
int x[10];
int *p = x;
memset(p, 0, sizeof(p)/sizeof(*p));
C++中的sizeof
假设有如下结构体:
struct Image{int width;
int height;
char data[10000];
};
可以这样初始化data成员:
Image image1;
memset(image1.data, 0, sizeof(iamge1.data));
C++11以后,也可以这样初始化:
Image image1;
memset(image1.data, 0, sizeof(Image::data));
注意sizeof的的参数,可以不通过对象,直接使用作用域运算符来获取成员的大小。
小测验
下面的代码有问题么?
int data[100];
constexpr size_t cnt = sizeof(data)/sizeof(*data);
int info[cnt * 2];
msmet(info, 0, sizeof(info));
感谢各位的阅读,以上就是"C++11怎么将sizeof用于类成员"的内容了,经过本文的学习后,相信大家对C++11怎么将sizeof用于类成员这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
成员
运算
大小
类型
运算符
内存
对象
指针
数据
面的
学习
代码
内容
空间
结构
表达式
问题
作用
元素
参数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
我的世界网易云服务器
开发一款查询数据库app
资源包怎么放进服务器
如何把云端服务器的声音
网络安全等级保护备案受理条件
保定无双计算机软件开发
虹口区网络技术服务
前瞻数据库可信吗
广州服务器电源价钱多少
服务好信誉可靠的软件开发
邮件无法安全连接到服务器
登陆数据库失败是怎么回事
软件开发 解耦
数据库学生信息管理系统参考文献
长宁区市场软件开发售后服务
海光服务器进raid
网络安全自查新闻
玖橙网络技术支持鲅鱼圈
雅马哈贴片机数据库资料
go 高性能服务器
上海品质网络技术结构设计
沈海高速有多少个服务器
字节跳动云服务器怎么升级
马服服务器
vb网络多连接数据库
万方数据库论文在聘职称
软件技术软件开发
北京国电网络技术
酒店网络安全宣传ppt
软件开发财务岗位