c++绝对是拯救了世界,特别是程序员

最近捣鼓一个开源的c程序,查看一个结构体,一层套一层的结构把人看的眼都晕了

多亏c++支持对象替代了c的结构体遍地跑

一下截取一部分大家欣赏下

typedef struct {
char *setname; /**< result set ID (input) */
int replace_set; /**< replace set indicator (input) */
int num_bases; /**< number of databases (input) */
char **basenames; /**< databases to search (input) */
Z_ReferenceId *referenceId;/**< reference ID (input) */
Z_Query *query; /**< query structure (input) */
ODR stream; /**< encode stream (input) */
ODR decode; /**< decode stream (input) */
ODR print; /**< print stream (input) */

bend_association association; /**< GFS association / session (input) */
Odr_int hits; /**< hits (output) */
int errcode; /**< Diagnostic code / 0 for no error (output) */
char *errstring; /**< Additional info (output) */
Z_OtherInformation *search_info; /**< extra search info result (output) */
char *srw_sortKeys; /**< SRU sortKeys info (input) */
char *srw_setname; /**< SRU generated resultsetID (output) */
int *srw_setnameIdleTime; /**< SRU result set idle time (output) */
int estimated_hit_count; /**< 1=estimated hits; 0=exact (output) */
int partial_resultset; /**< 1=partial results; 0=full (output)*/
Z_SRW_extra_arg *extra_args; /**< SRU extra request parameters (input) */
char *extra_response_data; /**< SRW extra XML response (output) */
Z_OtherInformation *search_input; /**< extra search info request (input) */
Odr_int present_number; /**< piggyback present number (>0) (input) */
} bend_search_rr;

struct Z_Query {
int which;
union {
void *type_0;
Z_RPNQuery *type_1;
Odr_oct *type_2;
Odr_oct *type_100;
Z_RPNQuery *type_101;
Odr_oct *type_102;
Z_External *type_104;
#define Z_Query_type_0 1
#define Z_Query_type_1 2
#define Z_Query_type_2 3
#define Z_Query_type_100 4
#define Z_Query_type_101 5
#define Z_Query_type_102 6
#define Z_Query_type_104 7
} u;
};

struct Z_RPNQuery {
Z_AttributeSetId *attributeSetId;
Z_RPNStructure *RPNStructure;
};

struct Z_RPNStructure {
int which;
union {
Z_Operand *simple;
Z_Complex *complex;
#define Z_RPNStructure_simple 1
#define Z_RPNStructure_complex 2
} u;
};

struct Z_Operand {
int which;
union {
Z_AttributesPlusTerm *attributesPlusTerm;
Z_ResultSetId *resultSetId;
Z_ResultSetPlusAttributes *resultAttr;
#define Z_Operand_APT 1
#define Z_Operand_resultSetId 2
#define Z_Operand_resultAttr 3
} u;
};

struct Z_Complex {
Z_RPNStructure *s1;
Z_RPNStructure *s2;
Z_Operator *roperator;
};

struct Z_AttributesPlusTerm {
Z_AttributeList *attributes;
Z_Term *term;
};

struct Z_AttributeList {
int num_attributes;
Z_AttributeElement **attributes;
};

struct Z_AttributeElement {
Z_AttributeSetId *attributeSet; /* OPT */
Odr_int *attributeType;
int which;
union {
Odr_int *numeric;
Z_ComplexAttribute *complex;
#define Z_AttributeValue_numeric 1
#define Z_AttributeValue_complex 2
} value;
};

struct Z_Term {
int which;
union {
Odr_oct *general;
Odr_int *numeric;
Z_InternationalString *characterString;
Odr_oid *oid;
char *dateTime;
Z_External *external;
Z_IntUnit *integerAndUnit;
Odr_null *null;
#define Z_Term_general 1
#define Z_Term_numeric 2
#define Z_Term_characterString 3
#define Z_Term_oid 4
#define Z_Term_dateTime 5
#define Z_Term_external 6
#define Z_Term_integerAndUnit 7
#define Z_Term_null 8
} u;
};

struct Z_AttributeElement {
Z_AttributeSetId *attributeSet; /* OPT */
Odr_int *attributeType;
int which;
union {
Odr_int *numeric;
Z_ComplexAttribute *complex;
#define Z_AttributeValue_numeric 1
#define Z_AttributeValue_complex 2
} value;
};

struct Z_ComplexAttribute {
int num_list;
Z_StringOrNumeric **list;
int num_semanticAction;
Odr_int **semanticAction; /* OPT */
};

struct Z_StringOrNumeric {
int which;
union {
Z_InternationalString *string;
Odr_int *numeric;
#define Z_StringOrNumeric_string 1
#define Z_StringOrNumeric_numeric 2
} u;
};

typedef __int64 nmem_int_t;
typedef nmem_int_t Odr_int;

时间: 2024-11-04 09:44:22

c++绝对是拯救了世界,特别是程序员的相关文章

这个世界为什么需要程序员

------------------------------------------------- 可能你还没遇到这个问题但即将遇到这些问题,也可能你我如他般被这些问题困扰,这便是题目的答案~ 2015.9.23号下午15点13分,我又重新被这些问题虐了一遍,以一名低级程序猿的身份和视角. 起因是准备买一张十月一期间的火车票,最后也顺利买到了,但是遇到的问题还是让我思考良久.量深.... 注册了的账号密码无法找回,如果我是一名普通用户我自然不知道为什么找回密码失败,也可能我是个低级程序员只能看到

一个画图程序(特别适合程序员)

一个画图神器,以后快速画图又有了一个新武器 图一: 代码: digraph directed { edge [fontname=NSimSun]; { a -> b; a -> c -> d [color=red,penwidth=3.0]; c -> e; a -> d[color=blue,label = "rank增加"]; } } 图二: graph hmc_graph{ "hmc01" -- "test520&quo

程序员的武林世界

在武林中,我们常常流传着关于高手的传奇故事.手中无剑,心中也无剑,是无数剑客们追求的境界.因为虽然手中无剑,心中也无剑,但是落花飞叶皆为剑,剑剑杀招,可取敌人首级.但是这样的高手毕竟是非常稀缺的.多数的人都奋斗在手中有剑,心中无剑的层次,另外有少数人能爬到了手中无剑,心中有剑的地步. 那么对程序员来说,什么样的人才是手中无剑,心中也无剑的人高手呢?让我们先从底层的手中有剑心中无剑说起. 手中有剑,心中无剑的程序员,往往工作在公司的最底层.因为缺乏经验积累,或者是知识结构不完整的缘故,在公司最底层

这个世界最值得尊敬的一类人——程序员

   在你的身边,有这么一群人,他们无时无刻不守护着你,在你和朋友聊天的时候,在你上网冲浪的时候,甚至在你上班的路上,在你吃饭的时候,在你存钱的时候,或者,在你睡觉前.你无法发现他们但他们却无时无刻不在,他们就是这个世界上最值得尊敬的一类人,大程序员.    程序员是这个世界上最厉害的魔术师,简单的52个英文字母,10个基本数字,再加上一些奇形怪状的符号,编织成了你生活中的点点滴滴.你玩的手机游戏,浏览的网页,和朋友.父母聊天的软件,搭公车的刷卡,银行的存钱系统,甚至你家的电视机,无一不出自程序

女程序员职业发展的特别之处

在"做自己想做的工作"公开课的互动环节,有位女生提了个问题,大意是"女生是否适合做程序员",当时我怎么回答的,已经忘差不多了,大意是性别对是否适合做程序员没有直接影响.课后我又仔细琢磨这个问题,联想到之前有多位女程序员给我的微信订阅号"程序视界"留言,询问女程序员的职业发展状况,这让我恍然发现,我之前居然一直忽略了女性的具体情况对软件开发的影响.因此,这次,我准备特意来聊聊这方面的话题. 首先要说明的是,从大的脉络来讲,女程序员的职业发展与男程序

程序员的我想改变这个世界!

[导语]端午节期间,去乡下过节了.我父母都是农民,我是农民的儿子,他们培养两个儿子上大学,值得敬佩!我们每一个人都有父母,他们都 想自己的孩子能够回家与他们过过节,聊聊天.大部分父母并不期待自己的孩子赚了很多钱之后才回去看他们,即使你身无分文,你回去了,他们依然很高兴,这是 爱,跟钱没关系.这篇文章写得比较随意,不过有些内容可以思考.我们在做很多事情的时候,都面临家庭的压力,束手无 策.比如很多开发者跟我交流,说自己真的很想创业,想法也特别多,并且能够吃苦耐劳坚持下去,但是家人希望自己工作稳定.

CSDN日报20170405 ——《未来的世界没有程序员》

[程序人生]未来的世界没有程序员 作者:刘嘉鑫 已经有很多人开始担心,机器人会不会真的像电影里面那样,把人类灭绝,这也不无可能,1970年日本机器人专家森昌弘提出的恐怖谷理论说,当机器人与人类的相似度达到一定程度时,人类会对他们产生反感,就我而言,我确实会反感. [Web 前端]全栈必备 JavaScript 基础 作者:半吊子全栈工匠 1995年,诞生了JavaScript语言,那一年,我刚刚从大学毕业.在今年RedMonk 推出的2017 年第一季度编程语言排行榜中,JavaScript 排

《一个程序员眼中的世界》 -- 个人介绍

<一个程序员眼中的世界>  --  个人介绍 写在前面 写在前面的是对我个人的介绍,个人的教育.工作.成长经历决定了我的想法及看法,没必要,我没打算当一个专家,只是一个小小的程序员,芸芸众生中的一员,各位看客如果有其他不同的看法,尽管提出来,赞同的共勉,质疑的讲出你的看法,有道理我亦欣然接受,辱骂的我只能置之不理了. 教育背景 用现在的话说我是一个纯种的“屌丝”,也做这“屌丝”的代表职业----程序猿,如果说教育背景真是说不出口,不是985.更不是211,所以我不说体制教育(没脸说,避弱就强也

(Java)程序员应打破牢笼,展望更高层次的世界

回顾过去,我认为每个程序猿都关在一个透明的牢笼中,限制了思维.蒙蔽了眼界.蹉跎了岁月而不自知,如果不尝试走出去是一辈子都不能感知到牢笼的存在.这个牢笼就是技术本身. 一些程序员就要说,我们就是靠技术吃饭的,天天考虑各种编程技巧,技术怎么成为束缚我们的牢笼呢?那是因为很多人只是看到软件技术的表象而没看到本质. 孙子兵法说:不知兵之害者不能尽用兵之利也.套过来说,不知技术之害者不能尽用技术之利也.技术也存在有害的一面,它是程序猿谋生的工具,同时也是关着程序猿的牢笼.为什么是牢笼呢,这就涉及到技术的两