在析构函数中使用“friend”说明符的示例?

Ale*_*der 10 c++ destructor friend language-lawyer

[class.dtor]/1包含以下语句:

每个DECL说明符的的DECL说明符-SEQ析构函数声明(如果有的话)的应是friendinline,或virtual

我真的很想看到一个使用带有friend说明符的析构函数的例子。

lis*_*rus 11

假设您希望允许A在 class 中使用 class 的私有成员B。没问题,你B在里面声明为朋友A

进一步假设您只想将使用限制为B的析构函数。因此,您只需将B的析构函数声明为友元:

struct A
{
private:
    // some private stuff
    friend B::~B();
};
Run Code Online (Sandbox Code Playgroud)

在 ideone 上查看此示例