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

24小时学会网站建设营销网站有哪些

24小时学会网站建设,营销网站有哪些,潍坊网站制作工具,gstatic wordpressC之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.rdtb.cn/news/22461.html

相关文章:

  • seo网站架构人力资源培训与开发
  • 动态网站 教程专业的google推广公司
  • 潍坊做网站的那家好公司网站搭建
  • 海洋生态文明建设的网站名网络营销方法有哪些?
  • 人才招聘类网站开发文档青柠影院免费观看电视剧高清
  • 京东网站难做吗推广优化厂商联系方式
  • 怎么样免费给网站做优化推广类软文
  • 杭州做网站国家市场监督管理总局官网
  • 手机要访问国外网站如何做黑帽seo寄生虫
  • dreamwave 做网站wordpress免费建站
  • frontpage做内部网站上海最新发布最新
  • 十大免费货源网站免费版权百度客服电话人工服务
  • 西安免费做网站价格情感营销
  • 电子商务网站建设影响因素福州百度seo
  • 网站可以做外部链接吗同城引流用什么软件
  • 无锡做食品网站的公司简介2345网址导航怎么样
  • python网站开发教程重庆排名seo公司
  • 怎么开始做网站网络营销的含义是什么
  • 宁乡做网站网站seo资讯
  • 电子公章在线制作网站河南百度推广公司
  • 网推项目平台搜索引擎优化的常用方法
  • 长安镇仿做网站免费b站在线观看人数在哪
  • 做网站刷东西媒体公关公司
  • 优秀国外设计网站淘宝新店怎么快速做起来
  • 下载浙江平安建设信息系统网站百度关键词优化方法
  • 邮件订阅 wordpress大连网站优化
  • 学校网站开发研究的意义和目的windows 优化大师
  • 滴滴优惠券网站怎么做黄页引流推广网站软件免费
  • 苏州网站建设 网络推广公司世界足球排名前十名
  • 百度地图网页版在线使用重庆企业网站排名优化