加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 成员函数如何以编程方式*知道调用它的“对象名称”?

发布时间:2020-12-16 10:39:39 所属栏目:百科 来源:网络整理
导读:假设我们有一个MyClass类和一个memberfunc(). ObjA说,为这个MyClass创建了一个对象. i.e MyClass ObjA; ObjA调用memberfunc(). 我们可以以编程方式在memberfunc()中获得此名称’ObjA’吗? 注意:我知道如何使用RTTI(运行时类型识别)获取对象的类型,即“MyCl
假设我们有一个MyClass类和一个memberfunc().
ObjA说,为这个MyClass创建了一个对象.

i.e MyClass ObjA;

ObjA调用memberfunc().

我们可以以编程方式在memberfunc()中获得此名称’ObjA’吗?

注意:我知道如何使用RTTI(运行时类型识别)获取对象的类型,即“MyClass”,下面的radman也解释了相同的内容.

编辑:

如果这在c中是不可能的,是否可以使用任何其他编程语言?

EDIT2

对这个问题进行了一些修改,因为很少有人无法解释.

解决方法

这里有几个问题:

>对象不会调用任何东西,代码也可以.
>对象没有名称.通常将对象分配给变量,通常分配给多个变量,通常根本不分配变量,例如数组元素.
>访问调用堆栈可能会让您了解拥有调用您的代码的调用类,但即使这通常需要超出大多数语言的反射工具的内省级别.

> Python是一个值得注意的例外.它可以给你堆栈走路和找出很多有趣的东西. C不会.

我已经看到C库破解了堆栈(顺便说一下,这是非常不便携的),因此让代码能够像“谁叫我?”这样的东西.但多年来我一直没有使用过这些东西.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读