news 2026/6/25 22:12:52

类、结构体或枚举的数组-–-behaviac

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
类、结构体或枚举的数组-–-behaviac

原文

对于C#版,类型信息不支持[]类型的数组,只支持List<***>类型的数组。

对于C++版,需要按照如下方式进行注册:

基本类型(bool、int、float、char、sbyte、ubyte等)的数组可以直接使用,但当使用到其他自定义类型数组的时候,需要添加特殊的宏和代码,否则运行时可能会有错误(如果没有使用到相应的操作,则没有错误):

  • 在.h的头文件里添加如下所示的宏,但需放在任意namespace之外:
BEHAVIAC_DECLARE_TYPE_VECTOR_HANDLER(TNS::ST::PER::WRK::kEmployee);
  • 在初始化的代码里添加如下所示的注册代码:
behaviac::TypeRegister::Register<TNS::ST::PER::WRK::kEmployee>(" TNS::ST::PER::WRK::kEmployee");
  • 在结束代码里添加如下所示的反注册代码:
behaviac::TypeRegister::UnRegister<TNS::ST::PER::WRK::kEmployee>(" TNS::ST::PER::WRK::kEmployee");

更多细节可以参考behaviac组件C++源码中附带的UnitTestTypes.h文件中的结构体kEmployee。

  • Agent及其子类的数组

    当涉及behaviac::Agent或是其子类的时候,仅支持其指针类型即behaviac::Agent*SubclassAgent*SubclassAgentbehaviac::Agent的一个子类)。

    behaviac::Agent*vector<behaviac::Agent*>类型直接被支持,不需要做什么额外的工作,其任何子类SubclassAgent*也直接被支持。

    但是需要支持vector<SubclassAgent*>的时候,则需要在.h文件里添加如下所示的宏,但需放在任意namespace之外:

BEHAVIAC_DECLARE_TYPE_VECTOR_HANDLER(SubclassAgent*);

在初始化和结束的时候分别注册和反注册:

behaviac::Agent::Register<SubclassAgent>();behaviac::Agent::UnRegister<SubclassAgent>();

更多细节可以参考behaviac组件C++源码中附带的EmployeeParTestAgent.h文件中的类EmployeeParTestAgent。

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

线性代数(七)主变量与特解

本篇主要讨论如何求解齐次方程组的解&#xff0c;即求解 举例&#xff0c;&#xff0c;首先容易想到的算法是通过初等行变换进行消元&#xff0c;将其化为行最简形式。这里指出&#xff0c;在进行初等变换的时候&#xff0c;解构成的空间是不会改变的。 因为&#xff0c;对系…

作者头像 李华
网站建设 2026/6/24 16:49:20

Seelen UI:专业级UI/UX设计工具,助力高效界面设计与团队协作

Seelen UI是一款功能全面的用户界面设计与原型制作工具&#xff0c;专为设计师、开发人员和产品经理打造。该软件通过直观的操作界面和强大的设计功能&#xff0c;为用户提供了从概念设计到交互原型的一站式解决方案&#xff0c;显著提升界面设计效率。 获取地址&#xff1a;h…

作者头像 李华
网站建设 2026/6/25 23:57:13

Playwright03-CDP/WebSocket/PlayWright

Playwright03-CDP/WebSocket/PlayWrightplaywright自动化开发记录&#xff0c;学习BrowserUse的时候涉及到playwright知识点1-CDP/WebSocket/PlayWright对比我在看源码的时候&#xff0c;最开始使用简单demo进行学习的时候还好&#xff0c;但是一复杂起来&#xff0c;我就理不清…

作者头像 李华
网站建设 2026/6/26 1:41:43

Excalidraw使用技巧:从数据到图表的高效转化

Excalidraw使用技巧&#xff1a;从数据到图表的高效转化 在产品设计与技术协作中&#xff0c;最耗时的往往不是思考本身&#xff0c;而是把脑子里的想法“画出来”。你有没有过这样的经历&#xff1a;会议中刚理清一个系统流程&#xff0c;却因为要手动拖拽十几个方框、连线、…

作者头像 李华
网站建设 2026/6/25 6:23:32

FLUX.1-dev模型本地训练与推理指南(GPU/NPU)

FLUX.1-dev模型本地训练与推理指南&#xff08;GPU/NPU&#xff09; 模型简介 FLUX.1-dev 是由 Black Forest Labs 推出的下一代文生图多模态大模型&#xff0c;作为 Stable Diffusion 原班团队的新作&#xff0c;其在生成式人工智能领域树立了新的技术标杆。该模型基于创新的…

作者头像 李华
网站建设 2026/6/25 16:18:42

COBOL编程入门:从基础到文件处理

COBOL编程入门&#xff1a;从基础到文件处理 在银行核心系统的一次深夜故障排查中&#xff0c;运维团队发现一笔关键交易未能入账。经过层层追踪&#xff0c;问题最终指向一段运行了三十年的薪资计算逻辑——代码依然健壮&#xff0c;但能读懂它的人却越来越少。这正是COBOL的真…

作者头像 李华