RTTR 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
RTTR 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
RTTR 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
RTTR 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
RTTR 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 MIT
开发语言 C/C++
操作系统 跨平台
软件类型 开源软件
开源组织
地区 不详
投 递 者 青黑
适用人群 未知
收录时间 2020-01-03

软件简介

RTTR 在 C++ 中加入了反射性编程,极大弥补了 C++ 在反射性编程上的缺失。通过定义类的需要暴露的属性以及方法,可以使用类名和方法名直接调用。目前,它已经支持基础的数据结构和 stl vector map 能集合类型的数据。

RTTR 通过反射实现了非常简便的对象到 json 的双向解析过程。(示例

并且,RTTR 还提供了一个动态库插件,可以非常快速地用 C++ 实现插件式架构,简单定义某个动态库需要暴露的类型以及方法名,就可以通过反射机制加载到对应的函数或者对象。(示例

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (13)

加载中
了解一下Qt, QObject,
04/20 21:46
回复
举报
如果c++能自带反射就好了,c++最重要的缺点就是没有反射!
04/20 16:59
回复
举报
反射不是缺点,在我看来C++不需要反射,因为这玩意是动态语言才有的东西,而C++是静态语言
04/20 19:39
回复
举报
object pascal就支持反射!
04/21 13:53
回复
举报
你的example中的确是把需要反射的字段手写了一遍啊。 我觉得只要是需要手工重写一遍字段的反射,就不应该考虑去使用它。
04/20 08:51
回复
举报
有木有解释一下反射最为核心的用途
2020/08/07 08:19
回复
举报
序列化
04/20 13:13
回复
举报
还有orm吧
04/20 13:57
回复
举报
序列化 orm 依赖注入
04/20 22:27
回复
举报
有没有人收徒
2020/03/11 11:40
回复
举报
手写字段,就叫反射了 ?
2020/01/06 10:38
回复
举报
看了Example再说
2020/01/06 15:41
回复
举报
这个有点溜
2020/01/06 09:48
回复
举报
更多评论
暂无内容
发表了博客
2020/09/14 11:26

RTTR实现C++反射(1)集成rttr库

RTTR是一个C++库,使程序员能够在其应用程序中使用反射。RTTR是根据MIT许可证发布的。本文介绍如何集成rttr库到工程中,并演示一个基本示例。 系统环境:windows 下载RTTR源码后,首先需要使用CMake进行构建,如果没有安装CMake,可以先下载并安装。官方下载地址:https://cmake.org/download/,以windows64位msi安装包为例: rttr还依赖Boost库和Doxygen,如果没有这两个可以先下载: boost以windows平台为例,选一种压缩包下载...

0
0
发表了博客
2020/02/25 11:56

RTTR qt通用对象编辑表格

描述 在应用开发中,经常有中需求就是每一个对象然后使用表格来编辑这个对象的属性,缺少一个通用性的做法就是针对每一个对象来实现一个tablemodel来实现编辑功能。结合RTTR可以非常简便的实现一个通用的编辑器 上图针对不用的属性使用了不同的控件来进行编辑,下面简要说明实际原理。 说明     QApplication a(argc, argv); QTableView tableView; Bean bean; bean.a = 1; bean.b = 2; bean.c ...

0
1
发表了博客
2020/01/10 15:50

RTTR实现高扩展性的c++ http服务端

前言 源码地址https://gitee.com/qq2820/puppy 之前写过一篇 c++利用RTTR实现插件式加载动态库 今天在这个基础上结合http服务器,实现一个插件式动态扩展的http服务端,需要一个httplib.h的头文件来提供http的功能,在java spring框架中可以直接在方法上加上一个RequestMapping就可以增加一个web api接口,本文目的也是如此,引入一个http服务,然后通过RTTR添加相对应的元数据直接将方法注入到http服务上去,并借助rttr的提供json序列...

0
0
发表了博客
2020/01/06 15:11

c++利用RTTR实现插件式加载动态库

在java中大量的框架都使用了一种只要给一个接口实现自动匹配一个实现了该接口的的对象,或者调用者直接按照接口定义选择一个对应的实现对象,这在实际的框架扩展中非常有帮助,比如一个很简单的过程,读取数据,解析数据,录入数据,这三个操作都可以是一个独立插件,随着业务扩展可能刚开始是从网络读取数据,然后还可能是mysql,以及其他的扩展,同理解析也一样,可以解析为对象,xml,json,录入数据可能关系型数据库,非关系型数据库,存在大...

0
2
发表了博客
2016/12/21 10:03

反射开源库

https://github.com/rttrorg/rttr

0
0
发表了博客
2018/12/31 22:54

现代 C++ 编译时 结构体字段反射

基于 C++ 14 原生语法,不到 100 行代码:让编译器帮你写 JSON 序列化/反序列化代码,告别体力劳动。🙃 本文不讨论完整的 C++ 反射技术,只讨论结构体 (struct) 的字段 (field) 反射,及其在序列化/反序列化代码生成上的应用。 正文开始于 [sec|静态反射] 部分,其他部分都是铺垫。。可以略读。。。 背景(TL;DR) 很多人喜欢把程序员称为 码农,程序员也经常嘲讽自己每天都在 搬砖。这时候,大家会想:能否构造出一些 更好的...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
13 评论
93 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部