
ObjA说,为这个MyClass创建了一个对象.
i.e MyClass ObjA;
ObjA调用memberfunc().
我们可以以编程方式在memberfunc()中获得此名称’ObjA’吗?
注意:我知道如何使用RTTI(运行时类型识别)获取对象的类型,即“MyClass”,下面的radman也解释了相同的内容.
编辑:
如果这在c中是不可能的,是否可以使用任何其他编程语言?
EDIT2
对这个问题进行了一些修改,因为很少有人无法解释.
解决方法 这里有几个问题:>对象不会调用任何东西,代码也可以.
>对象没有名称.通常将对象分配给变量,通常分配给多个变量,通常根本不分配变量,例如数组元素.
>访问调用堆栈可能会让您了解拥有调用您的代码的调用类,但即使这通常需要超出大多数语言的反射工具的内省级别.
> Python是一个值得注意的例外.它可以给你堆栈走路和找出很多有趣的东西. C不会.
我已经看到C库破解了堆栈(顺便说一下,这是非常不便携的),因此让代码能够像“谁叫我?”这样的东西.但多年来我一直没有使用过这些东西.
总结以上是内存溢出为你收集整理的c – 成员函数如何以编程方式*知道调用它的“对象名称”?全部内容,希望文章能够帮你解决c – 成员函数如何以编程方式*知道调用它的“对象名称”?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)