当前位置: 首页 > news >正文

c++结构体用构造函数进行初始化

结构体能自由组装数据,是一种很常见的数据打包方法。

当我们定义一个结构体后,没有初始化就使用,就会使用到垃圾数据,而且这种错误很难发现。

在编程时对于定义的任何变量,我们最好都先初始化。

常见的操作是每定义一个结构体,就使用一次memset,但这样很繁琐,同时有时候也需要给结构体中的一些变量赋一些非0的默认值。

于是我们可以在结构体中用构造函数进行初始化操作,像下面这样

struct Stu
{int  nNum;bool bSex;char szName[20];char szEmail[100];//构造函数初始化Stu(){nNum = 0;bSex = false;memset(szName,0,sizeof(szName));memset(szEmail,0,sizeof(szEmail));}};

如果结构体中有大量成员,一个个赋值,会相当麻烦。那么可以这样写

struct Stu
{int  nNum;bool bSex;char szName[20];char szEmail[100];//构造函数初始化Stu(){memset(this,0,sizeof(Stu)); }
};

end

http://www.lryc.cn/news/342302.html

相关文章:

  • 2024年五一数学建模C题完整解题思路代码
  • 0018__GTK+:GTK+的简介、安装、使用方法之详细攻略
  • 环保访谈|浙江双视专注红外机器视觉及智能化应用,保障安全生产
  • ​Web服务器
  • linux的firmware和hal层
  • 从ETL与ELT谈起,理解数仓的任务
  • esp32-cam 2. python opencv 拉取摄像头内容
  • js之遍历方法
  • Elementui的el-footer标签使用报错
  • Ubuntu24.04安装中文输入法
  • 八股kafka(一)
  • SemCity: 一个应用于真实户外环境场景生成的3D Diffusion模型
  • 鸿蒙内核源码分析(互斥锁篇) | 互斥锁比自旋锁丰满多了
  • MySQL之查询 拿下 * 。*
  • 目标检测(二阶段)领域,常见词汇
  • 区块链与人工智能哪个更有前景?
  • 计算机网络【应用层】邮件和DNS
  • js遍历数组将数组中属性名相同的属性值组成新的数组再转化成字符串并换行(js换行和html换行不同)
  • Ai绘画|如何安装使用秋叶comfyui整合包,手把手详细教程
  • 【React】React-redux多组件间的状态传递
  • XSS-Labs 靶场通过解析(上)
  • 开源版本管理系统的搭建一:SVN服务端安装
  • Fastfetch一个类似neofetch的系统信息工具软件
  • DV试验和PV试验介绍
  • RTT PIN设备学习
  • Spring Boot面试知识点总结(经典15问)
  • 安卓手机原生运行 ARM Ubuntu 24.04 桌面版(一)
  • AHB---数据总线
  • 「51媒体」企业单位新闻稿件考核,怎么发布
  • 「 网络安全常用术语解读 」SBOM主流格式CycloneDX详解