delete-operator 相关问题

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

为什么删除温度会崩溃,即使该函数是用new定义的

我正在制作一个修改后的双链表,但是头和尾指向彼此。在insertBeforeCurrent和insertAfterCurrent中,我用new定义了对象,然后将它们放入...

回答 1 投票 -2

C ++中的删除操作

我不明白删除的含义。例如,在下面的代码中,删除ptr;因此指针变量ptr被删除还是指向的内存ptr被删除? int * ptr =新的int; * ptr = 7; ...

回答 1 投票 3

删除动态分配的数组与单个指针

因此,我正在尝试实现唯一的指针,我希望能够在分配单个对象和分配数组之间进行选择。假设我是否使用new []分配了所有内容,即使是单个...

回答 1 投票 1

清除链表节点类C ++中的函数

我无法确保已为链接列表Node类创建了一个清晰的函数。我正在使用delete我知道会导致内存问题的方法,但这是我可以的唯一方法...

回答 1 投票 0

取消全局替换操作符new返回的指针的未分配行为,而不调用替换操作符delete吗? (C ++ 17)

被认为是未定义的行为,它会在SL操作符new未返回的非null指针上调用SL操作符删除,如此处针对(1)和(2)所述:https://en.cppreference.com/ w / ...

回答 2 投票 1

不是[delete []`与`new []`对应吗?

为了阅读有关工厂模式的在线信息,我正在阅读将近20年的C ++知识。最终使用上下文可能会在不同的第三代中...

回答 1 投票 0

编译器错误C2541-'delete':delete:无法删除不是指针的对象

我写了此类:class StaticList {private:int headFree; int headList; int locNew; StaticListNode * listNodeArr;公共:StaticList(int numberOfElements); 〜...

回答 1 投票 0

C ++动态内存分配,在第二次第二次崩溃前使用删除

我正在构建一个程序来创建动态数:char **。 C ++中的删除功能对我来说是新功能,所以也许我正在做一些基本错误,但我在互联网上找不到答案。代码...

回答 1 投票 0

为什么运算符删除重载不会在调用删除时调用无限递归调用

调用操作符new的本地重载会由于无限递归调用而导致堆栈溢出,但是当操作符delete的本地重载发生相同情况时,为什么要调用全局操作符delete(因此...

回答 1 投票 2

我如何在C ++中删除指向数组的指针

我想知道如果要删除这样初始化的数组,该如何使用delete运算符:int(* my_ptr)[10] = new int [3] [10];这似乎无效:delete [] []

回答 3 投票 0

删除模板数组时出现分段错误

因此,我需要创建一个包含对象对的动态大小数组,并且我有以下代码:#include #include #include 使用... ] >>>]] > 您需要使用运算符删除[] delete [] array; 当使用new分配对象时,需要使用delete释放它们。用new[]分配对象时,需要用delete[]释放它们。将您的代码更改为: delete[] array; 删除动态数组时,使用delete []而不是delete删除多个动态分配的数据。希望这能解决您的问题。

回答 3 投票 0

C ++操作员可以删除失败,如果不是,为什么?

操作员删除是否可以在内存解除分配期间引发异常或发出其他错误消息?以其他方式,操作员删除可能失败,并且...

回答 2 投票 2

什么是“ :: operator new”和“ :: operator delete”?

我知道new和delete是关键字。 int obj =新的int;删除obj; int * arr =新的int [1024]; delete [] arr; 标头是C ++标准标头的一部分。它有两个运算符(我不确定...

回答 4 投票 2

[operator new()在删除操作符delete()时的行为不同,具体取决于默认构造函数的存在

使用运算符new()创建类C的新对象会在此处产生错误:类C {public:C(){} virtual〜C(){} void运算符delete(void *)= delete; }; int main(){C * c = new C; ...

回答 1 投票 8

[C ++运算符new()在删除运算符delete()时会有所不同,具体取决于默认构造函数的存在

使用运算符new()创建类C的新对象会在此处产生错误:类C {public:C(){} virtual〜C(){} void运算符delete(void *)= delete; }; int main(){C * c = new C; ...

回答 1 投票 5

在我的班级中几个数组上调用delete []时获取“检测到堆损坏”-C ++

我有以下代码,其中我在类的构造函数中为三个int *分配内存。然后在类的析构函数中将其删除。我在删除两个...

回答 2 投票 0

[c ++删除分配给new的char指针

在此代码中,当第一个数字是2D数组的大小时,我正在从文件中获取数字。在我的代码中,我定义了char * filename = new char; (我必须使用char *文件名,这是...

回答 2 投票 0

居民集大小在删除后保持不变[]

我试图跟踪我的c ++项目占用的内存,因此我从这篇文章中找到了一个可以使用共享内存和私有内存打印RSS的函数。代码显示在下面void ...

回答 1 投票 0

使用Firebase实时删除帐户

我在删除用户帐户时遇到问题。删除代码成功,并且可以正常工作。唯一不起作用的是删除应用程序应将用户带到...的帐户后...

回答 1 投票 0

std :: unique_ptr的自定义删除器如何工作?

根据N3290,std :: unique_ptr在其构造函数中接受一个deleter参数。但是,我无法在Windows中使用Visual C ++ 10.0或MinGW g ++ 4.4.1在Ubuntu中使用g ++ 4.6.1。 ...

回答 4 投票 55

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