c – 为什么/如何清理静态的机制,获得允许它调用私有成员的访问
发布时间:2020-12-16 09:44:40 所属栏目:百科 来源:网络整理
导读:我测试了一个模式,用于在C中声明一个单独的类,使默认的析构函数为“private”,但该模式不会通过任何成员调用使用此析构函数. 我使用gnu g compliler在Ubuntu QQ上测试了这段代码 – 析构函数在程序终止时被调用,尽管指定为’private’. 谁/什么/如何调用这个
我测试了一个模式,用于在C中声明一个单独的类,使默认的析构函数为“private”,但该模式不会通过任何成员调用使用此析构函数.
我使用gnu g compliler在Ubuntu QQ上测试了这段代码 – 析构函数在程序终止时被调用,尽管指定为’private’. 谁/什么/如何调用这个析构函数,因为它被指定为私有? 注意:我来自Delphi / Object Pascal世界,并且ObjectPascal不支持静态类声明 – 尽管有几种方法可以创建单例.根据我的经验,’私人'(‘严格私人’……)是私人的.我在C中看到它并不是那么回事. 说明? 解决方法
(OP编辑后编辑)
使析构函数私有可以防止它被显式调用. 如果析构函数是公开的,这将是合法的: MyClass.getInstance().~MyClass(); 静态存储对象的析构函数是从main()返回或调用exit()调用的结果. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |