首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >手动调用析构函数总是糟糕设计的标志吗?

手动调用析构函数总是糟糕设计的标志吗?
EN

Stack Overflow用户
提问于 2013-01-07 05:33:21
回答 7查看 112.8K关注 0票数 87

我在想:他们说如果你手动调用析构函数--你做错了什么。但情况总是这样吗?有什么反例吗?需要手动调用它,或者很难/不可能/不切实际地避免它的情况?

EN

Stack Overflow用户

发布于 2018-06-30 17:15:15

发现了另一个必须手动调用析构函数的示例。假设您已经实现了一个类似variant的类,它包含以下几种类型的数据之一:

代码语言:javascript
运行
复制
struct Variant {
    union {
        std::string str;
        int num;
        bool b;
    };
    enum Type { Str, Int, Bool } type;
};

如果Variant实例持有一个std::string,而您现在为联合分配了一个不同的类型,则必须首先析构该std::stringThe compiler will not do that automatically

票数 -1
EN
查看全部 7 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14187006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档