一、问题说明
在 C++ 中,new 关键字用于动态分配内存。当你使用 new 创建一个对象时,它会在堆上分配内存,并返回一个指向该内存的指针。这个指针可以用来访问和操作分配的对象。使用 new 创建的对象不会在离开作用域时自动销毁,因此你需要在适当的时候使用 delete 来释放内存,以避免内存泄漏。
二、问题解决
1.返回指针。函数的返回值设为指针变量,当调用该函数之后,如果之后不再需要其返回值,可以及时手动销毁(delete)。
2.创建一个副本。创建副本后,将原始new的变量空间手动销毁(delete)。
3.使用智能指针。智能指针在程序执行到作用域外时,自动销毁内存空间。