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

C++结构体声明时初始化

提示:文章

文章目录

  • 前言
  • 一、背景
  • 二、
    • 2.1
    • 2.2
  • 总结

前言

前期疑问:
本文目标:


一、背景

最近

二、

2.1

c++ 结构体默认初始化

在C++中,结构体的默认成员初始化可以通过构造函数来完成。如果没有为结构体提供构造函数,那么结构体的成员将使用默认构造函数进行初始化(对于内置类型如int,double等,会被初始化为0)。

如果你想要为结构体提供一个默认的初始化值,你可以定义一个构造函数,并在其中设置默认的成员值。

以下是一个简单的例子:

struct Point {int x;int y;Point(int xVal = 0, int yVal = 0) : x(xVal), y(yVal) {} // 构造函数
};int main() {Point p; // 使用默认初始化,x = 0, y = 0Point q(10); // x = 10, y = 0Point r(20, 30); // x = 20, y = 30return 0;
}

在这个例子中,Point 结构体有一个构造函数,它接受两个参数,这两个参数分别用来初始化 xy 成员。如果在创建 Point 对象时没有提供参数,那么 xy 将使用默认值0。如果提供了参数,将使用提供的参数值来初始化 xy

上述是百度Ai的回答。按照他的意思,如果c++的结构体没有提供构造函数,会使用默认构造函数进行初始化。这边需要验证。

但是其实写一个用于初始化的构造函数会更保险。比如我在代码中写了结构体的默认构造函数。

struct RoadDataInfoStruct
{int fromId;int toId;std::string roadInfo;std::vector<int> passTime;std::vector<int> waitTime;float passTimeRatio;bool passTimeRealTimeCountOverFlag;RoadDataInfoStruct(){fromId = 0;toId = 0;passTimeRatio 0.0f;passTimeRealTimeCountOverFlag = false;}
};typedef RoadDataInfoStruct RoadDataInfo;

总结

未完待续

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

相关文章:

  • 基于微信的热门景点推荐小程序的设计与实现(论文+源码)_kaic
  • 9、设计模式
  • 数学专题.
  • 如何提升网站的收录率?
  • HALCON根据需要创建自定义函数
  • 力扣SQL仅数据库(196~569)
  • 网络基础:理解IP地址、默认网关与网段(IP地址是什么,默认网关是什么,网段是什么,IP地址、默认网关与网段)
  • windows安装php7.4
  • 【代码随想录|图论part03之后】
  • 【项目一】基于pytest的自动化测试框架day1
  • 如何下载和安装 Notepad++
  • 笔记:如何使用Process Explorer分析句柄泄露溢出问题
  • HTTP/2
  • 如何在算家云搭建ComfyUI(AI绘画)
  • 公司的企业画册如何制作?
  • 13、Django Admin创建两个独立的管理站点
  • 使用docker compose一键部署 Openldap
  • 网站代运维与建设:HTTP虚拟专线的优势
  • 奇异递归模板模式(Curiously Recurring Template Pattern)
  • 【ArcGIS Pro实操第一期】最小成本路径(Least-cost path)原理及实操案例
  • 探索C++编程技巧:计算两个字符串的最长公共子串
  • 等保2.0--安全计算环境--TiDB数据库
  • 【unity实战】使用新版输入系统Input System+Rigidbody实现第三人称人物控制器(附项目源码)
  • 代码随想录算法训练营Day03 | 链表理论基础、203.移除链表元素 、707.设计链表、206.反转链表
  • 【总结】CSS(SCSS) 不常用属性
  • 电位计的模拟
  • OSI七层网络协议
  • U盘提示需要格式化才能使用怎么办?教你轻松应对
  • Atom编辑器:曾经的效率提升利器,终将被新技术取代
  • 立创商城9.9免邮活动开始啦!