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

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

概述假设我们有一个MyClass类和一个memberfunc(). ObjA说,为这个MyClass创建了一个对象. i.e MyClass ObjA; ObjA调用memberfunc(). 我们可以以编程方式在memberfunc()中获得此名称’ObjA’吗? 注意:我知道如何使用RTTI(运行时类型识别)获取对象的类型,即“MyClass”,下面的radman也解释了相同的内容. 编辑: 如果 假设我们有一个MyClass类和一个memberfunc().
ObjA说,为这个MyClass创建了一个对象.

i.e MyClass ObjA;

ObjA调用memberfunc().

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

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

编辑:

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

EDIT2

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

解决方法 这里有几个问题:

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

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

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

总结

以上是内存溢出为你收集整理的c – 成员函数如何以编程方式*知道调用它的“对象名称”?全部内容,希望文章能够帮你解决c – 成员函数如何以编程方式*知道调用它的“对象名称”?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1221821.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存