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

沧州网站建设开发服务北京计算机培训机构哪个最好

沧州网站建设开发服务,北京计算机培训机构哪个最好,保定网站报价,上海做网站收费简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中……】🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

1.前言

本篇目的:理解C++之struct匿名结构体用法。

2.struct匿名结构体用法介绍

C++中的“匿名结构体”通常也被称为“无名结构体”或“未命名结构体”,是指在结构体定义时没有给予其一个特定的名称。它与普通的有名结构体相比,在语法上有一些差异和特殊用法。

  1. 定义匿名结构体:
    匿名结构体和有名结构体的定义语法相同,都是使用struct关键字,但不提供名称。定义匿名结构体主要用于临时的数据组织和封装,通常作为其他数据类型(如类、其他结构体)的成员。
struct {int id;std::string name;
} student;

在上述代码中,我们使用匿名结构体定义了一个名为student的变量。

  1. 初始化匿名结构体:
    初始化匿名结构体的语法与普通结构体相同,但不能使用结构体名进行初始化。可以使用花括号初始化器或成员初始化列表进行初始化:
// 使用花括号初始化器
student = { 1, "John" };// 使用成员初始化列表
student = { .id = 2, .name = "Alice" };
  1. 访问匿名结构体的成员:
    访问匿名结构体的成员使用点运算符(.):
std::cout << "ID: " << student.id << ", Name: " << student.name << std::endl;
  1. 匿名结构体作为其他数据类型的成员:
    匿名结构体常常被用作其他数据类型(如类或有名结构体)的成员,可以在定义时直接使用匿名结构体来声明成员变量:
class MyClass {
public:struct {int day;int month;int year;} birthdate;
};
  1. 限定匿名结构体作用域:
    匿名结构体的作用域默认为定义它的代码块,可以使用代码块来限定匿名结构体的作用域。这样可以避免结构体名称与其他结构体冲突。
{struct {int id;std::string name;} student;student.id = 1;student.name = "John";std::cout << "ID: " << student.id << ", Name: " << student.name << std::endl;
}

3.实例例子

v1.0

#include <iostream>
using namespace std;struct {int x;int y;
} point;int main() {point.x = 3;point.y = 4;cout << "坐标:(" << point.x << ", " << point.y << ")" << endl;return 0;
}

v2.0

#include <iostream>
using namespace std;struct {string name;int score;
} student;int main() {student.name = "张三";student.score = 90;cout << "姓名: " << student.name << endl;cout << "成绩: " << student.score << endl;return 0;
}

v3.0

#include <iostream>
using namespace std;struct {int width;int height;
} rectangle;int main() {rectangle.width = 5;rectangle.height = 7;cout << "宽度: " << rectangle.width << endl;cout << "高度: " << rectangle.height << endl;return 0;
}

v4.0

#include <iostream>
using namespace std;struct {struct {int day;int month;int year;} date;struct {int hour;int minute;int second;} time;
} datetime;int main() {datetime.date.day = 10;datetime.date.month = 12;datetime.date.year = 2021;datetime.time.hour = 9;datetime.time.minute = 30;datetime.time.second = 15;cout << "日期:" << datetime.date.year << "-" << datetime.date.month << "-" << datetime.date.day << endl;cout << "时间:" << datetime.time.hour << ":" << datetime.time.minute << ":" << datetime.time.second << endl;return 0;
}

v5.0

#include <iostream>
using namespace std;struct {string name;int age;string department;
} employee;int main() {employee.name = "李四";employee.age = 28;employee.department = "销售部门";cout << "姓名: " << employee.name << endl;cout << "年龄: " << employee.age << endl;cout << "部门: " << employee.department << endl;return 0;
}

v6.0

#include <stdio.h>typedef void (*HWC2_PFN_CREATE_LAYER)();struct {HWC2_PFN_CREATE_LAYER createLayer;
} mDispatch = {};void myCreateLayer() {printf("Creating a layer...\n");
}int main() {mDispatch.createLayer = myCreateLayer;// 检查createLayer是否为空,如果不为空则调用函数if (mDispatch.createLayer != NULL) {printf("Calling createLayer function...\n");mDispatch.createLayer();} else {printf("createLayer function is not assigned.\n");}return 0;
}
http://www.dinnco.com/news/64648.html

相关文章:

  • 简洁大气的企业网站搜索引擎是网站吗
  • 微信网站打不开近三天的国内外大事
  • 网购网站后台管理系统图片南昌搜索引擎优化
  • 网站案例库nba最新交易一览表
  • 江门网站推广技巧服务google官方下载
  • 网站怎么做流量统计百度广告联盟app
  • 佛山建设网站公司互联网营销培训课程
  • 企业建设银行网站登录不了百度收录关键词
  • 淘宝网站都是怎么做的吗成都seo的方法
  • 南京网站开发南京乐识权威新媒体运营主要做什么
  • 个体工商户可以申请网站建设吗站长工具排行榜
  • 营销网站建设大概费用网站的推广
  • 无锡网站制作百度知道网址
  • cdr做网站分辨率搜索引擎优化代理
  • 公众号设置下载wordpress网站优化 seo和sem
  • 张家港做外贸网站广告公司网站
  • 安徽政府网站建设安卓优化大师历史版本
  • 本人已履行网站备案信息大金seo
  • 南京网站设计平台搜索引擎seo如何赚钱
  • 福建省建设局实名制网站网络营销推广的方式
  • 网站部署到终端机怎么做推广软件app
  • 怎么做网站里的悬浮窗口可以搜索国外网站的搜索引擎
  • 旅游网的网站建设优质的seo网站排名优化软件
  • 杭州网站建设外包成都seo公司
  • 南宁建站官网南昌seo招聘信息
  • linux系统上的wordpressseo优化方案总结
  • 成都市建网站公司seo优化推广技巧
  • 商丘做网站哪家好seo服务如何收费
  • 上海简站商贸有限公司软文模板300字
  • 斗鱼类的直播网站开发营销宣传方式有哪些