C++11怎么将sizeof用于类成员
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,这篇文章主要讲解了"C++11怎么将sizeof用于类成员",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C++11怎么将sizeof用于类成员"吧!s
千家信息网最后更新 2025年01月24日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安全错误
数据库的锁怎样保障安全
美国apt网络安全
智能电视服务器软件下载
服务器设置ip提示被占用
软件开发原型模型
苹果cms 数据库
奎屯市网络安全
ftp迷你服务器
郑州炒股软件开发
联想R730服务器进不去系统
医疗技术项目操作人员数据库
积成电子有没有网络安全
网络安全的手抄报或宣传画册
勒索病毒会破坏数据库吗
定西市软件开发
现代通信网络技术试卷
cmd连linux数据库
创建数据库的语法错误
吴中区品质网络技术诚信经营
如何在万得上找数据库
sip服务器开源
多个服务器 蒲公英
山东c语言软件开发机构
先进网络安全认证评估计划
广州软件开发多少钱
网络安全怎么学的快
博乐出入库管理软件开发
数据库建立Tcourse
小米谷歌商店服务器通讯
千米红包城主软件开发
有关软件开发的资格证