C语言和C++描述数据结构最大的区别在于设置思想,C语言是一种结构化程序设计语言,而C++是一种面向对象的程序设计语言,它两者的区别主要在于数据和操作的关系。
C语言和C++描述数据结构最大的区别在于设置思想,C语言是一种结构化程序设计语言,而C++是一种面向对象的程序设计语言,它两者的区别主要在于数据和操作的关系。
C语言是定义数据类型,数据类型定义变量,然后函数操作变量,换句话说C语言是“操作的数据”。
C++是定义类,类本身就具备操作,换句话说,C++是“数据的操作”。
而对于结构体,C++中结构体和类基本完全类似。C++中结构体能继承、能实现多态!结构体中也可以包含构造函数和析构函数和其他内部成员函数,因此结构体和类基本雷同!少数的区别是,类中的成员变量默认为私有,而结构体中则为公有。
虽然二者基本毫无区别,struct更适合作为数据结构的实现体,class更适合作为对象的实现体。
延伸阅读:
计算struct占用的内存大小需要考虑两点:一是各个分量的偏移地址的计算,二是最终整体大小要进行地址对齐(为了确保结构的大小为结构的字节边界数(即该结构中占用最大空间的类型所占用的字节数)的倍数,所以在为最后一个成员变量申请空间后,还会根据需要自动填充空缺的字节)。
struct{
char a[15]; //占15个字节,从0开始偏移,所以下面的int是从15开始偏移
int x;//偏移量 0x15+1=16
}s1;
cout<<sizeof(s1)<<endl; //结果为20字节
struct{
char a[15]; //
int x; //偏移量 16字节
char b; //偏移量 21字节
}s2; //结果为21字节,按最大基本类型对齐,补充到24字节
cout<<sizeof(s2)<<endl; //结果为24字节
struct{
char a[15];
int x; //偏移量 16字节
double b; //double偏移量必须为8的倍数,故偏移量24字节
}s3;//
cout<<sizeof(s3)<<endl; //结果为32字节
struct{
char a[15];
int x; //偏移量 16字节
double b; //偏移量 24字节
char c;//偏移量 32字节
}s3;//共33字节,按最大基本类型对齐,补充到40字节(整除8)
cout<<sizeof(s3)<<endl; //结果为40字节
最后建议,企业在引入信息化系统初期,切记要合理有效地运用好工具,这样一来不仅可以让公司业务高效地运行,还能最大程度保证团队目标的达成。同时还能大幅缩短系统开发和部署的时间成本。特别是有特定需求功能需要定制化的企业,可以采用我们公司自研的企业级低代码平台:织信Informat。 织信平台基于数据模型优先的设计理念,提供大量标准化的组件,内置AI助手、组件设计器、自动化(图形化编程)、脚本、工作流引擎(BPMN2.0)、自定义API、表单设计器、权限、仪表盘等功能,能帮助企业构建高度复杂核心的数字化系统。如ERP、MES、CRM、PLM、SCM、WMS、项目管理、流程管理等多个应用场景,全面助力企业落地国产化/信息化/数字化转型战略目标。 版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们微信:Informat_5 处理,核实后本网站将在24小时内删除。版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系邮箱:hopper@cornerstone365.cn 处理,核实后本网站将在24小时内删除。