delete-operator 相关问题

在C ++编程语言中,delete运算符调用给定参数的析构函数,并将new分配的内存返回给堆。

正确地删除с++中的类

有时有必要再次重新启动类,但是删除它并不能保证将其静态变量重置。那下课要做肯定要离开吗?自动my = new MyClass; ...

回答 2 投票 0

删除数组元素在JavaScript中 - 删除VS拼接

是什么使用阵列元件上的删除操作,而不是使用该方法Array.splice方法之间的差异?例如:myArray的= [ 'A', 'B', 'C', 'd'];删除myArray的[1]; // 要么 ...

回答 24 投票 1273

删除ptr C ++后会发生什么[重复]

我尝试使用以下代码示例删除ptr:int * data = new int(1); int * p = NULL; p =数据; * p = 3;删除p; //打印3 cout << * p << endl; //打印3个cout

回答 3 投票 0

指向复制到另一个指针时的工作原理

嘿大家。 #包括 using namespace std; int main(){int * ptr1 = new int; int * ptr2 = ptr1;删除ptr2; //摧毁ptr2 ......

回答 2 投票 0

可以清理损坏的堆吗?

如果我腐败了我的堆,我可以事后清理它吗?如果有,怎么样?堆损坏的示例:int * x = new int; //如果我们用new分配内存,我们必须稍后释放它.x ++; * x = 1; // ...

回答 1 投票 2

在一对向量内释放对象的内存

我想知道如何在一对向量内取消分配对象的内存。矢量<对 > vectorObject;我尝试使用迭代器迭代所有...

回答 3 投票 0

delete []如何知道它是一个数组?

好吧,我想我们都同意以下代码所发生的事情是未定义的,具体取决于传递的内容,void deleteForMe(int * pointer){delete [] pointer;指针可以全部......

回答 16 投票 133

实施“三条规则”出错

以下是我试图理解的“三规则”的错误实施。调试程序,我发现调试器清理int * k有问题,可以解决...

回答 4 投票 2

全局重载c ++中的New和Delete运算符

我已经重载了new和delete运算符来跟踪我们分配和释放内存的位置。重载的new运算符工作正常,但是当我尝试使用重载的删除时出现错误...

回答 1 投票 -2

如何使用delete []运算符清除动态分配的内存? (无法使用常规删除语法清除)

我使用int * p = new int [size]分配了一个动态内存;现在当我尝试使用delete [] p删除它时;我在执行代码时遇到了分段错误(核心转储)。最初我是......

回答 3 投票 1

C ++正确地释放具有基础连续内存的多维数组

我有一个为3d数组分配内存的函数。目标是保证内存连续,但也有[k] [j] [i]语法的便利:double *** allocate_3d(const int&...

回答 1 投票 0

为什么是错误:没有分配被释放的指针

#包括 using namespace std; int main(int argc,char * argv []){int * a = new int; * a = 5; int * b = new int; * b = 6; int * temp = a;删除的(a); a = b; ...

回答 2 投票 -3

delete运算符与虚拟和非虚析构函数的不同行为

当我使用struct M的虚析构函数时,operator new后删除操作符返回指向其他地址。 struct M {virtual~M()= default; }; struct D:public M {int * b = nullptr; }; ...

回答 1 投票 0

在C ++中没有删除在堆上创建的变量

我正在研究这里提供的BFS搜索代码://程序从给定的//源顶点打印BFS遍历。 BFS(int s)遍历//可从s到达的顶点。 #包括 #...

回答 2 投票 0

在简单的层次结构中重新定义深层复制/删除/分配

我正在学习C ++,我对这个编程练习中的深层复制,删除和赋值有一些疑问;我有一个抽象基类的简单层次结构:class AudioFile {private:...

回答 1 投票 0

在浅拷贝上调用删除不会爆炸[重复]

在下面的代码中,为整数分配内存,然后生成浅拷贝,最后在其上调用delete。它如何仍然打印23作为输出,为什么不...

回答 1 投票 0

删除使用new创建的2D或3D指针

如何删除使用new创建的2D或3D指针?我知道删除[] name_of_pointer可以删除1D指针。 // 1D指针:int * pt1 = new int [size]; //创建1D指针......

回答 1 投票 3

Mysql中的语法错误删除具有条件的触发器

我在MySQL中编写了一个小的触发器函数。这是我编写的触发器查询,并在代码中给出语法错误。错误:SQL语法中有错误;检查手册......

回答 1 投票 1

C ++:如果我重载new运算符,我是否也必须重载delete运算符?

我正在读一个关于SO的问题,在其中一个答案中,它被提到:如果找不到明确的匹配解除分配函数,传播异常不会导致......

回答 1 投票 9

如果类具有析构函数/ delete [],则成员运算符new []的参数“size”会增加

以下代码中有4个类:A,B,C和D.它们都有成员运算符new []。此外,B有一个构造函数; C有一个析构函数; D有一个成员运算符delete []。参数大小......

回答 1 投票 8

© www.soinside.com 2019 - 2024. All rights reserved.