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

杭州公司车牌摇号申请流程网站建设及优化

杭州公司车牌摇号申请流程,网站建设及优化,用虚拟主机做网站,网站备案中页面在JSON项目中,使用了联合体和结构体之间的嵌套,但是在访问内部的联合体和结构体的时候出现了问题,这篇文章作为记录,也希望能帮助遇到相同问题的好伙伴。 struct lept_value {union {struct str{char *s;size_t len;};double n;}…

在JSON项目中,使用了联合体和结构体之间的嵌套,但是在访问内部的联合体和结构体的时候出现了问题,这篇文章作为记录,也希望能帮助遇到相同问题的好伙伴。

struct lept_value
{union {struct str{char *s;size_t len;};double n;};lept_type type;
};

上面是最原始的代码,上面的代码可以通过下面的代码访问double n和lept_type type,

// v是一个lept_value的指针
v->n;
v->type;

但是无法访问str结构体内部的成员。如果给结构体加上名,那么连n也无法访问。例如:

struct lept_value
{union m_union{struct str{char *s;size_t len;};double n;};lept_type type;
};

我用下面的代码访问发现只提示有type一个成员。

v->m_union.str;        // 无法访问

v->m_union.n;          //无法访问

v->type;                    // 可以访问

后来通过翻译将问题翻译成英文:

如何访问结构体内部的联合体中的变量->How do I access variables in a union inside a struct

之后放到StackOverflow上进行了查询,很快有了结果,原解释如下:c++ - Accessing a variable in a union which is inside a class - Stack Overflow

typedef struct {union {struct { char* s; size_t len; }s;  /* string: null-terminated string, string length */double n;                          /* number */}u;lept_type type;
}lept_value;

参考了c语言的代码和StackOverflow上的回答,发现自己简直s b一个。

问题的原因在于:我的代码中只是声明了结构体,但是实际上并没有生成实际的对象,根本就没有这个成员,因此当然无法访问。就像使用lept_value这个数据结构,需要一个实际的对象才会分配内存,光给出声明怎么会允许访问呢?将代码修改成如下,加入了m_data和m_union,意味着默认有这两个实例,有了实例之后一切的访问都可以了(struct和union默认访问权限是public)。

struct lept_value
{union {struct str{char *s;size_t len;}m_data;double n;}m_union;lept_type type;
};// 访问方式
v->m_union.m_data.s;
v->m_union.n;
v->m_union_m_data.len;

问题到这里就解决了,后来想到vscode写代码的时候,每次提示都只显示一个type,别的显示不出来,这不就是在告诉我,你TM这个结构体里面根本没有这个成员变量!!!恨不得抽自己几个大嘴巴子。

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

相关文章:

  • 自字网站建设教程怎么做网页中不显示项目符号
  • 做淘客网站dedecms网站地图前台路径不修改
  • PHP网站开发简单实例如何用ppt做网站
  • 小灯具网站建设方案公司网站建设需求表
  • 用yershop做网站wordpress高亮插件
  • 论文收录网站排名厦门seo排名优化方式
  • 如何找网站足球排行榜前十名
  • jsp网站设计教学做一体化教程wordpress电商推广插件
  • 宿州城乡建设局网站建设装修公司网站
  • 自己如何在网上做网站网站备案负责人幕布照
  • 3d打印网站开发建设一个公司网站
  • 做外贸推广的网站有哪些网站优化排名方法有哪些
  • wordpress网站维护页面模板vs做网站需要的插件
  • 云服务器建立多个网站徐州鸿美网站建设
  • 广西网站推广深圳营销建网站公司
  • 五八同城网站开发了多久怎么查看网站disallow
  • 贺州 网站建设公司有哪些做孵化的网站
  • 展示型网站 asp.net写作网站保底和全勤的区别
  • 有哪里可以做兼职翻译的网站宁波做网站制作
  • 中国建设银行绑定网站建设微网站的特色
  • 长春网络建站模板wordpress取消页尾
  • 建个网站需要多少钱费用那些开店的网站是自己做的吗
  • 电商网站建设代码大全阿里云主机建网站
  • 管理网站 开发西宁网站设计公司
  • 做网站专题的软件做网站的费用如何入帐
  • 最便宜 双网站建设创造有价值的网站
  • 肇庆做网站网站建设 创意视频
  • 盘锦建设工程信息网站网站内容相同算侵权吗
  • 网站建设人员工作要求做网站非法吗
  • 罗定网站建设龙川网站建设