gpt4 book ai didi

c++ - 如何在调用 return 后删除 [] 内存

转载 作者:行者123 更新时间:2023-11-30 02:59:21 25 4
gpt4 key购买 nike

我有一个类表示一个矩阵和多个矩阵运算。我正在尝试重载 * 运算符以将两个矩阵相乘。

matrix matrix::operator* (matrix param) {
if(n!=param.n){
matrix blah;
return blah;}

matrix temp(n,0);
temp.user_matrix=mult(param.user_matrix);
return temp;}

这两个矩阵都是正方形的,所以第一部分只是检查它们的大小是否相同。这是可行的,但是在临时矩阵返回到另一个矩阵对象后我应该如何删除它?

最佳答案

你不应该。它会自动销毁。

你应该只删除你用new分配的对象。

通常使用原始 newdelete 在现代 C++ 中是不受欢迎的。看看 std::unique_ptrstd::shared_ptr 的替代方案。 (您的示例中不需要它们)

关于c++ - 如何在调用 return 后删除 [] 内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12955991/

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