社区
C++ 语言
帖子详情
c++的反射机制
Coder李海波
2008-03-12 11:54:40
比如我有一个类:
public class UserMgr
{
public bool login(string userName,string password);
}
给定一个字符串,如
Class=UserMgr
Method=login
Parameters=marising,123456
根据给定的字符串,能实例化UserMgr,并能调用login函数,传入参数marising,123。
类似,c#或者Java中的反射机制。
...全文
851
43
打赏
收藏
c++的反射机制
比如我有一个类: public class UserMgr { public bool login(string userName,string password); } 给定一个字符串,如 Class=UserMgr Method=login Parameters=marising,123456 根据给定的字符串,能实例化UserMgr,并能调用login函数,传入参数marising,123。 类似,c#或者Java中的反射机制。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
43 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yykk601
2009-01-15
打赏
举报
回复
运行时类型识别库
Coder李海波
2008-04-01
打赏
举报
回复
C++ Reflection for High Performance Problem Solving Environments
http://www.cs.indiana.edu/~tdevadit/pubs/cpprefl_hpc07.pdf
晨星
2008-03-31
打赏
举报
回复
还有.exe。
晨星
2008-03-31
打赏
举报
回复
首先,你是要反射啥东西来获得类信息?是.h,.cpp,.lib,.dll,.obj,.so还是.a?
Skt32
2008-03-31
打赏
举报
回复
仿COM
Skt32
2008-03-31
打赏
举报
回复
写一个GetInterface()函数,在被调用时用传来的参数列表实例化你的那个类并返回对象指针,然后用对象指针进行工作
WuBill
2008-03-31
打赏
举报
回复
Mark下,回头研究下,感觉LZ说的场景象C#里的代理
Coder李海波
2008-03-26
打赏
举报
回复
to michney
第三,有成熟的双接口和automation来解决。
哥们,能详细一点么?
to Vitin
非常感谢
antimatterworld
2008-03-20
打赏
举报
回复
[Quote=引用 34 楼 michney 的回复:]
我的项目里曾经用到过一个依赖注入的需求,最后实现是一个哥们用汇编,和C++来实现的
[/Quote]
哥们很好很强大...
dead_of_winter
2008-03-13
打赏
举报
回复
要搞清楚语言的思想 不要总是向语言提要求
redleaves
2008-03-13
打赏
举报
回复
C++里搞这些比较麻烦...
通常,这种机制用在C++里只会给自己增加负担.
如果要用,就只能像COM那样,搞个类厂,再搞个类似dispatch的机制....
andyhooo
2008-03-13
打赏
举报
回复
按名字实例化可以用工厂方法模式解决
动态调用某函数可以参考IDispatch的实现
星羽
2008-03-13
打赏
举报
回复
up
lexchou
2008-03-13
打赏
举报
回复
按名字实例化可以用工厂方法模式解决
动态调用某函数可以参考IDispatch的实现
egxsun
2008-03-13
打赏
举报
回复
需要根据Request的内容,调用不同的函数
-------------------------------
可以用函数指针
z_kris
2008-03-13
打赏
举报
回复
能否用trait试试?
antimatterworld
2008-03-13
打赏
举报
回复
MFC里面有个动态创建,类似Java的反射机制.
//DECLARE_DYNCREATE
//IMPLEMENT_DYNCREATE
这2个宏好象实现了C++的"反射机制"
michney
2008-03-13
打赏
举报
回复
我也觉得这东西,没有实用价值
首先,C++的需求变更并不像java,c#那样频繁,需要依赖注入容器,反射来解决
第二,C++实现反射效率低下,无论是执行,还是开发。
第三,有成熟的双接口和automation来解决。
我的项目里曾经用到过一个依赖注入的需求,最后实现是一个哥们用汇编,和C++来实现的
yixiao386
2008-03-13
打赏
举报
回复
别用古汉语去写微积分
Jeffrey84
2008-03-13
打赏
举报
回复
可以肯定,反射很消耗性能.
加载更多回复(23)
yaml-cpp动态数据绑定终极指南:
C++
反射机制
实现详解
yaml-cpp 是一个功能强大的
C++
YAML 解析器和发射器,它通过巧妙的**
反射机制
**实现了**动态数据绑定**功能,让开发者能够轻松处理YAML配置文件。作为遵循YAML 1.2规范的完整实现,yaml-cpp的**动态数据绑定**技术为
C++
开发者提供了前所未有的灵活性。 ## 🔍 什么是yaml-cpp
反射机制
? yaml-cpp的**
反射机制
**本质上是一种**类型转换系
C++
实现
反射机制
JAVA有着一个非常突出的动态相关机制:Reflection,用在Java身上指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实体、或对其fields设值、或唤起其methods。然而
C++
是不支持
反射机制
,虽然
C++
有RTTI(运行时类型识别)。但是想要实现
C++
对象序列化,序列化就是存储到磁盘上,将对象变成一定格式的二进制编码,然后要用的时候再将保存在磁盘上的
C++
反射机制
的实现
Java中有天然的
反射机制
,因为Java本身就是半编译语言,很多东西可以在运行时来做,但是
c++
就不同了。要建立
c++
的
反射机制
,就需要登记每个类名与对象的对应关系。 1.前言 在实际的项目中,听到师兄说
C++
中用到了反射,出于好奇,就查阅相关资料,发现强大的
C++
本身并不支持反射,反而Java支持
反射机制
。当我得知这个事实时,一直唯
C++
马首是瞻的我,心中暗自落泪,悲叹不已。但是,C
C++
反射机制
(实例讲解)
C++
反射机制
c++
实现
反射机制
一、问题的提出 在
c++
程序中,如果知道了一个类,然后我们就可以使用类名去访问这个类的 静态公有成员变量 或 静态成员函数: 类名::静态公有成员变量; 类名::静态公有成员函数; 或者我们可以创建这个类的一个对象,然后通过对象去访问公有成员变量 或 公有成员函数: 类名 *pobj = new 类名(); pobj -> ...
C++ 语言
65,213
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章