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中的反射机制。
...全文
799 43 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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)

65,184

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧