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

大连模板网站制作多少钱怎样自己做网站推广

大连模板网站制作多少钱,怎样自己做网站推广,长岭建设局网站,百家号官网C之struct和union对比介绍 在C中,struct和union都是用来定义自定义数据类型的关键字,但它们的作用略有不同。 首先了解一下它们的基本概念: struct(结构体):struct 是一个用户自定义的数据类型&#xff…

C++之struct和union对比介绍

在C++中,struct和union都是用来定义自定义数据类型的关键字,但它们的作用略有不同。

首先了解一下它们的基本概念:

struct(结构体):struct 是一个用户自定义的数据类型,可以包含多个不同类型的成员变量,可以包含函数。这些成员变量在结构体中是独立的,它们分别占用独立的内存空间。结构体中的成员可以通过指定的访问权限(public, private, protected)进行访问控制。

union(联合体):union 也是一个用户自定义的数据类型,但不能包含函数。它的成员共享同一块内存空间。这意味着,union 中的所有成员变量都位于同一个内存区域,且内存空间的大小由最长的成员变量决定。

如果需要定义一个包含多个具有不同数据类型的成员的数据类型,可以使用struct关键字。例如,一个学生信息的数据类型,包含学号、姓名和成绩等成员,可以用struct来定义:

struct Student {

    int id;

    string name;

    float grade;

};

使用struct定义的类型非常直观,也很容易操作,不需要过多的安全性考虑。

如果需要定义一个可以共享内存的数据类型,可以使用union关键字。union中的不同成员可以在同一时间只有一个是有效的,因为它们共用同一块内存。例如,定义一个可以同时存储int、float和char类型数据的数据类型可以用union定义:

union Data {

    int i;

    float f;

    char str[20];

};

使用union关键字定义的类型具有较高的危险性,因为它的成员共享同一块内存,如果使用不当,容易出现数据混乱等问题,需要特别注意安全性。

在 C++ 中,struct 和 union 的成员默认是公共的(public),但是可以根据需要设置访问权限,例如将某些成员设置为私有(private)或受保护(protected)。具体的访问权限设置通过在成员声明时添加访问修饰符来实现。

struct 可以有函数成员,union不能包含函数成员。

因此,struct和union的使用还是根据具体情况而定,需要根据问题的实际需求进行选择。

对于 struct(结构体),它的成员可以是以下类型:

数据成员:可以是任何合法的 C++ 数据类型,包括基本数据类型(如整型、浮点型、布尔型)、自定义数据类型(如类、结构体、枚举)等。

函数成员(成员函数):在 struct 内部定义的函数,可以用于操作 struct 的数据。函数成员可以访问 struct 的私有成员和保护成员。

静态成员:可以是静态数据成员或静态函数成员。静态数据成员是 struct 类型的对象共享的数据,静态函数成员是不依赖于具体对象的函数。

struct(结构体)示例如下:

#include <iostream>
using namespace std;struct Point {int x;int y;void print() {cout << "Point: (" << x << ", " << y << ")" << endl;}static int count;static void incrementCount() {count++;}
};int Point::count = 0;int main() {Point p1 = {3, 4};p1.print();  // 输出: Point: (3, 4)Point::incrementCount();cout << "Point count: " << Point::count << endl;  // 输出: Point count: 1return 0;
}

对于 union(联合),可以包含以下类型的成员:

数据成员:可以是任何合法的 C++ 数据类型,包括基本数据类型(如整型、浮点型、布尔型)、自定义数据类型(如类、结构体、枚举)等。注意,union 的数据成员共享存储空间,只能存储一个成员的值。

嵌套结构体或联合:可以在 union 内部定义嵌套的 struct 或 union。

union(联合)示例如下:

#include <iostream>
using namespace std;union Data {int i;float f;char c;
};struct Employee {string name;union {int age;float salary;};
};int main() {Data d;d.i = 42;cout << "Data value: " << d.i << endl;  // 输出: Data value: 42Employee e;e.name = "John";e.age = 30;cout << "Employee: " << e.name << ", " << e.age << " years old" << endl; // 输出: Employee: John, 30 years olde.salary = 5000.0;cout << "Employee: " << e.name << ", salary: " << e.salary << endl; // 输出: Employee: John, salary: 5000return 0;
}

http://www.yayakq.cn/news/665445/

相关文章:

  • 做网站用什么软件初二wordpress国外主题优化
  • 网站前端静态模板下载北京网站建设 奥美通全网营销
  • 网站登录验证码是怎么做的wordpress页眉logo链接
  • 仿网站模板上海网站seo策划
  • 国外做鞋子的网站医药公司网站备案
  • 个人博客网站logo网站建设移动端官网
  • 企业首页网站属于什么类型网站网站建设代码模板
  • 长春网站建设排名wordpress 蓝色企业主题
  • 大的网站建设公司移动网站系统
  • 如何做网站的的关键词视频运营管理平台
  • 视频网站的链接怎么做西地那非一粒能硬几天
  • 网站升级改版需要多久光山网站建设
  • 蓬莱做网站价格应用软件设计过程
  • 明年做哪些网站能致富中山哪里有好网站建设公司
  • 太仓企业网站建设公司网店代运营排行
  • 做购物网站写数据库的流程百度关键词推广怎么收费
  • dreamwear做网站弄一个app要多少钱
  • 网站后台插件下载硬件开发工程师工资
  • 安庆网站建设哪家好如何利用网站赚钱
  • 十大卖衣服网站西宁网站建设加盟代理
  • 某企业网站的分析优化与推广长春比较有名的做网站建设
  • 网站建设济南云畅网络技术有限公司宁波建网站费用
  • 扬州做网站的胶州网站建设电话
  • 自学网站建设快吗宿州网站建设开发公司哪家好
  • 中国建设监理工程协会网站昆明做网站seo的
  • 网站站内优化方法垂直网站怎么做
  • 公司网站设计与实现的英文文献连江可门港建设发展有限公司网站
  • 湖北商城网站建设整站营销系统
  • 手机网站怎么制作视频播放网站开发教程
  • 义乌网站优化建设中国建设银行网站软件