-2
我想了解如何定义一个函数作为friend function
影响其在内存(RAM)中的位置。C++如何在内存位置的朋友功能不同?
例如,每个类都有一个包含所有方法和函数的表。此外,虚拟功能放置在vtable
。
friend
功能属于哪里?
我担心的原因是由于[递归]函数已经通过多个线程在我的C++代码中调用了很多次,最终我得到了“v'table腐败运行时例外“。这是内存损坏的标志(例如as I saw here)。
此外,将此函数声明为常规的类外函数时,异常仍然存在。
然而,当声明该函数为friend
(这是一个糟糕的设计,但为了实验),该异常不再弹出。
因此,我的问题关于朋友函数的内存位置。
*“每个类都有其所有方法和函数的表”* - 你说这是基于什么?在C++标准中没有提及它。 – StoryTeller
朋友功能是**不是**友好班的成员功能 –
*例如,每个班级都有其所有方法和功能的表格。*嗯,不。有一个虚拟的虚拟表格,但就是这样。 – Borgleader