gpt4 book ai didi

c++ - 释放由 std::make_tuple() 创建的元组

转载 作者:行者123 更新时间:2023-11-27 23:46:28 30 4
gpt4 key购买 nike

我假设由 std::make_tuple() 创建的元组对象是在堆栈上动态分配的。我的问题是当它的生命周期达到结束状态时如何释放/删除这个对象。

std::tuple<int,int> myTuple = std::make_tuple(3, 7);
delete myTuple; // is this correct?

最佳答案

I'm assuming that tuple object created by std::make_tuple() is dynamically allocated on stack.

没有在堆栈中动态分配这样的东西。

发生的事情是你在堆栈中得到一个对象(元组类的实例),它可以有指向动态分配内存(在堆上)的指针。

How to free/delete this object, when its life cycle reaches the end state?

每个类都有,或应该有,一个析构函数,当它超出范围时(通常是命令 block 的末尾,想想大括号),它会释放所有这些动态内存。您无需手动释放它,就像您不释放 std::string 一样。

仅对使用 new 手动分配的内容使用 delete 关键字。

关于c++ - 释放由 std::make_tuple() 创建的元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50207186/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com