gpt4 book ai didi

c++ - 考虑到智能指针以及函数 std::make_shared 和 std::make_unique ,关键字 new 及其对应的 delete 是否已经过时?

转载 作者:行者123 更新时间:2023-12-02 03:15:46 25 4
gpt4 key购买 nike

在我看来,new及其对应的delete已经过时了,因为是智能指针以及函数 std::make_sharedstd::make_unique。这是真的吗?

最佳答案

C++ 确实是一种多级语言。在最高级别,您很少显式使用 newdelete,因为它们的调用封装在智能指针或容器

但是您可能需要构建一个专门的容器类。 C++ 仍然是一种很好的语言,因为标准库主要是用 C++ 编写的。在这种情况下,您肯定必须管理明确的分配和释放。这就是我所说的中级编程。

您甚至可以在专用硬件和嵌入式系统上使用 C++。在这种情况下,实现特定的分配函数甚至是有意义的,该函数将通过中级代码中的 new 和 delete 来使用,以允许最高级别的部分程序使用(可能是特定的)容器和智能指针。

TL/DR:在高级构造中通常不需要newdelete。然而,它们是该语言的一个重要组成部分,而且丝毫没有过时。

关于c++ - 考虑到智能指针以及函数 std::make_shared 和 std::make_unique ,关键字 new 及其对应的 delete 是否已经过时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60391122/

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