news 2026/6/10 15:32:21

自定义类或结构体-–-behaviac

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
自定义类或结构体-–-behaviac

原文

  • 在.h文件中,任意编写一个自定义的类或结构体,并用宏DECLARE_BEHAVIAC_STRUCT声明该类或者结构体为非虚类,如下代码所示:
structTypeTest2_t{intname;floatweight;boolbLive;DECLARE_BEHAVIAC_STRUCT(TypeTest2_t);};

上面的用法定义出来的TypeTest2_t在导出的元信息中为值类型(也即在导出的元信息中其值IsRefType为false),值类型可以在编辑器中设置其成员属性。与值类型对应的是引用类型,引用类型不会导出其成员属性,在编辑器中也不用配置其成员属性。

另外,宏DECLARE_BEHAVIAC_STRUCT也可以带2个参数,第一个参数为类型,第二个参数为true表示该类型用作为引用类型(也即导出元信息后其值IsRefType为true),否则不用第二个参数表示为值类型,如下代码所示:

DECLARE_BEHAVIAC_STRUCT(TypeTest2_t,true);
  • 在.cpp文件中,通过一系列宏注册该类或结构体自身的描述及其属性:
BEGIN_PROPERTIES_DESCRIPTION(TypeTest2_t){CLASS_DISPLAYNAME(L"测试结构体")CLASS_DESC(L"自定义结构体")REGISTER_PROPERTY(name);REGISTER_PROPERTY(weight).DISPLAYNAME(L”重量”);REGISTER_PROPERTY(bLive).DISPLAYNAME(L”是否活着”).DESC(L”存活状态”);}END_PROPERTIES_DESCRIPTION()
  • 在初始化注册(Register)的部分需要加上如下的代码,反注册(UnRegister)的部分添加相应UnRegister的代码。注意这部分Register/UnRegister的代码不是必须的,如果该类型没有用作par或者没有用作条件比较,就可以不需要。
behaviac::TypeRegister::Register<TypeTest2_t>(" TypeTest2_t ");behaviac::TypeRegister::UnRegister<TypeTest2_t>(" TypeTest2_t ");

更多细节可以参考behaviac组件C++源码库中btunittest工程的reflectionunittest.cpp文件中TypeTest2_t结构体相关的代码。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 16:48:30

C++ Template(模板)解读和模板报错如何“逆向阅读”定位

一、Template&#xff08;模板&#xff09;解读 一、模板本质&#xff1a;不是泛型&#xff0c;是“代码生成器”Template 编译期函数 / 类型生成系统template<typename T> T add(T a, T b) { return a b; }编译期行为&#xff1a; add<int> -> 生成一个 i…

作者头像 李华
网站建设 2026/6/10 15:04:18

不止ChatGPT!多智能体协同框架AutoGen、CAMEL全解析,小白也能上手

在数字化浪潮席卷全球的今天&#xff0c;人工智能领域正不断突破边界。当单个智能体的能力逐渐触达瓶颈&#xff0c;多智能体协同恰似一把 “智能密钥”&#xff0c;解开了更复杂任务的解决密码。尤其是大语言模型加持下的多智能体协同架构&#xff0c;已悄然在各行业掀起变革&…

作者头像 李华
网站建设 2026/6/10 9:56:35

企业知识库成“数字垃圾场“?RAGFlow三招教你打造AI智能大脑,小白程序员也能上手! 企业知识库常沦为“数字垃圾场“,根源在于三个误区:一是“为了做而做“,只强调

知识管理 # RAG # 效率革命 RAGFlow 实践 1.知识库沦为“数字垃圾场”的根源在于“为了做而做”&#xff0c;增加了员工负担。 2.成功的知识库是需要“养”的生物&#xff0c;必须持续调试、优化&#xff0c;而非静态的“U盘”。 3.终局是嵌入工作流&#xff08;Workflow&#…

作者头像 李华
网站建设 2026/6/10 0:56:29

2025大厂Java面试高频真题整理!

2025快要结束&#xff0c;想必有不少小伙伴已经开始提前为明年面试做准备了。今天写下这篇文章的原因是这几天有很多粉丝在后台找我&#xff0c;希望我出一份对标明年金三银四的面试题总结&#xff0c;近期急需面试。不过我一个人短时间内肯定是不能把近期的高频面试题全部总结…

作者头像 李华