Thu*_*ing -2 c++ friend-function
我试图理解如何将函数定义为friend function影响其在内存(RAM)中的位置.
例如,每个类都有一个包含其所有方法和函数的表.此外,虚拟功能放在vtable.
friend功能在哪里?
我担心的原因是由于[递归]函数已经通过我的c ++代码中的多个线程调用了很多次,最终我得到了"v'table腐败运行时异常".这是内存损坏的标志(正如我在这里看到的那样).
此外,当将此函数声明为常规的类外函数时,异常仍然存在.
friend然而,当声明该功能时(这是一个糟糕的设计,但为了实验),该异常不再弹出.
因此,我的问题是关于朋友功能的记忆位置.
friend 有没有关系,其中一个编译器,链接器或运行时加载回放功能,它只是告诉该函数可以回避类的可见性规则编译器的关键字.
即使friend函数在类中内联定义,它仍然被认为是全局非成员函数.
| 归档时间: |
|
| 查看次数: |
108 次 |
| 最近记录: |