小编lev*_*one的帖子

使用return语句结束析构函数是否安全?

在我的Doubly Linked列表类中,我正在编写析构函数,这是我的代码:

DLinkedList::~DLinkedList() {
    if (head==NULL) {
        return;
    }

    // Other code
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,用return;声明结束析构函数是否安全?我知道我可以使用语句结束我的void函数return;,但这是一个析构函数.

c++ destructor

26
推荐指数
3
解决办法
1970
查看次数

在C++中,如何制作一个可以包含相同变体的矢量的变体?

我试图创建一个std :: variant,它可以包含相同变量的向量:

class ScriptParameter;
using ScriptParameter = std::variant<bool, int, double, std::string, std::vector<ScriptParameter> >;
Run Code Online (Sandbox Code Playgroud)

我正在重新定义ScriptParameter.它认为可能是因为模板参数无法向前声明?

有没有办法实现一个也可以包含相同类型变体数组的变体?

c++ vector self-reference c++17 std-variant

6
推荐指数
2
解决办法
466
查看次数

标签 统计

c++ ×2

c++17 ×1

destructor ×1

self-reference ×1

std-variant ×1

vector ×1