腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
关于
delete
、
delete
[]、
操作符
delete
()等
A的构造函数,当调用
delete
时,is将首先调用A的析构函数,然后调用operator
delete
()来释放“正确的内存量”。正如我在TC++PL中所读到的,这个“正确的内存量”是这样确定的:你能澄清这一点吗?我认为答案可能会帮助我理解
浏览 3
提问于2010-09-02
得票数 4
回答已采纳
1
回答
通过
delete
操作符
调用我的全局
操作符
delete
、
、
、
delete
操作符
也接受参数吗?如果是,我如何指定它们? 我的全局
操作符
delete
有参数,我需要调用它。
浏览 2
提问于2014-01-16
得票数 0
2
回答
使用
delete
操作符
我正在阅读这里()页面底部附近提到的
delete
一元运算符 console.log("array after
浏览 0
提问于2020-06-21
得票数 0
3
回答
Javascript
delete
操作符
、
、
我读过一本关于javascript的书,上面写道:
delete
o ; // Can't
delete
a declared variable so returns
浏览 0
提问于2014-08-14
得票数 4
4
回答
哪个
操作符
delete
?
、
以下内容之间是否有区别:和如果是这样,有什么区别,应该在哪里使用一个运算符,在哪里使用这个运算符的另一个版本
浏览 1
提问于2010-08-28
得票数 14
回答已采纳
1
回答
Delete
vs
操作符
delete
(和无效指针)
、
、
、
delete
ptr和operator
delete
(ptr)的区别仅仅在于
delete
调用ptr析构函数吗?或者换句话说,
delete
ptr会先调用ptr的析构函数,然后再调用operator
delete
(ptr)来释放分配的内存吗?那么
delete
ptr在技术上是否等同于以下内容:ptr->~T(); ::operator
delete</
浏览 0
提问于2012-05-14
得票数 14
回答已采纳
2
回答
为什么
delete
操作符
必须是静态的?
、
为什么
delete
操作符
必须是静态的?不知何故,这没有任何意义。new运算符非常有意义,就像构造函数不能是虚拟的一样,new运算符也不能。我知道,当调用
delete
操作符
时,对象已经被销毁了,所以不存在'this‘。然而,使用与虚拟析构函数相同的推理,让
delete
操作符
与创建对象的new
操作符
匹配仍然是有意义的。),因为它是静态的,并且在编译时不知道哪个
delete
操作符
是正确的(除了这里的小问题)。但是,我用上面的代码做
浏览 0
提问于2010-02-16
得票数 14
回答已采纳
5
回答
删除如何处理指针不变?
、
我读了这个问题,想知道更多关于
delete
行为的信息。现在,根据我的理解:调用destructorthen (通常通过调用free())通过调用
操作符
delete
.来释放内存。operator
delete
接受void*。作为测试程序的一部分,我重载了operator
delete
,发现operator
delete
不接受const指针。由于
操作符
delete
不接受const指针,
浏览 0
提问于2009-04-16
得票数 9
回答已采纳
2
回答
如何调用自定义删除
操作符
、
、
我有一个定制的
delete
[]
操作符
:char *b = new char[256];它编译,但我对自定义
操作符
的调用是对的吗
浏览 2
提问于2017-12-16
得票数 3
回答已采纳
2
回答
C++新增和删除
操作符
重载
、
、
void operator
delete
(void *p) printf("\nDELETE"); }int _tmain(int argc, _TCHAR* argv[])}我想要覆盖新
操作符
浏览 3
提问于2013-03-22
得票数 0
2
回答
我应该怎么写普通的
操作符
删除?
、
、
、
但是如果placement new没有抛出异常,并且我们在客户端代码中执行了删除操作:
delete
pw;。然后,此
delete
将只调用普通删除,而不是放置删除。Meyer随后得出结论,您必须提供正常的
操作符
delete
。那么,这个正常的
操作符
delete
应该是什么样子的呢?我认为这个正常
操作符
delete
的内部应该类似于位置删除。但如果我使用普通
操作符
new而不是placement new来创建对象删除,然后使用
delete
浏览 0
提问于2016-04-22
得票数 0
1
回答
如果运算符
delete
没有实现,为什么不编译?
如果
操作符
delete
没有实现,为什么不编译?class Apublic: private: }; A a;使用g++编译,获得以下错误:如果给它一个空的
操作符
delete
实现{ private:
浏览 5
提问于2015-02-28
得票数 2
1
回答
为什么gcc在优化时默认使用尺寸感知的删除
操作符
?
、
、
、
如果我定义自己的new和
delete
运算符,如下所示:#include <cstdlib> void* operator new (
delete
!选项,将收到mismatched-new-
delete
警告。查看编译后的输出,我发现编译器使用的是尺寸感知的
delete
操作符
(签名void operator
delete
(void *p, std::size_t sz);),而不是我定义
浏览 1
提问于2022-05-18
得票数 2
回答已采纳
1
回答
销毁删除是否仍然需要析构函数是可访问的?
、
、
、
C++20引入了“销毁
操作符
删除”的概念, struct S { ~S();我希望下面的
delete
不会插入对析构函数的调用,而只是调用我们提供的销毁
操作符
delete
<em
浏览 3
提问于2020-09-08
得票数 7
回答已采纳
7
回答
编写析构函数时,删除空指针不会调用重载的
delete
、
、
bad_alloc) { throw bad_alloc(); cout<<"operator
delete
"<<endl;{ tryw = new Widget(); c
浏览 63
提问于2009-07-10
得票数 16
回答已采纳
2
回答
是否删除C++虚拟操作员?
、
、
、
、
可以有一个虚拟的
delete
操作符
吗?我不是在说析构函数,我是说实际的
操作符
重载。除了(在大多数情况下)重载new和
delete
是一个很糟糕的想法(是的,我已经知道这是异端)之外,我想知道使用虚拟
delete
操作符
会产生什么样的影响。我正在考虑尝试使用虚拟删除,因为有时我可能会有一个重载
delete
的子类,存储在基类指针中。我只想知道虚拟或非虚拟
delete
操作符
覆盖的潜在利弊是什么。
浏览 0
提问于2012-12-16
得票数 16
回答已采纳
1
回答
找不到匹配的
操作符
删除;如果初始化引发异常,内存将不会被释放。
我已经创建了一个BaseObject类,它覆盖了新的(和删除)
操作符
,这样我就可以在应用程序生命周期中创建和销毁内存时记录内存,这样我就很容易发现任何未释放的内存。MY_
DELETE
delete
(__FILE__, __LINE__) 从我在互联网上看到的情况来看,这个问题是因为被覆盖的
delete
操作符
需要匹配的签名。因此,在这种情况下,如果我在
delete
操作符
中添加了"const *char file,int line“,它应该可以工作。但是,我遇到了
浏览 2
提问于2019-11-04
得票数 1
1
回答
重载新和删除
操作符
、
第一个问题:当我们在全局或类级别重载运算符new和operator
delete
(而不是针对数组)时,如果我们缓存一个对象数组,如下所示:
delete
[]obj;void* operator new[](size_t size){} 第二个问题:但是,如果我为上面的数组重载了新
操作符
和
delete
操作符
,那么它将
浏览 4
提问于2013-11-08
得票数 0
回答已采纳
1
回答
重载运算符new和匹配
delete
、
、
、
我在一个子类中重载了
操作符
new/
delete
,我注意到了一个对我来说很奇怪的行为。
delete
(void* ptr) printf(">
delete
(void*)\n"); }> new(unsigned int, int)为什么这里没有调用匹配的
delete<
浏览 1
提问于2013-05-17
得票数 2
回答已采纳
5
回答
C++ -运算符删除混淆
我正在学习C++,对
delete
操作符
是个新手。正如您从代码中看到的,我将
delete
操作符
应用于new
操作符
(m)。在应用它之后,我仍然能够使用指针并给它赋一个新值。我没有收到任何编译器错误。根据我所读到的,在应用
delete
之后我应该不能使用新指针,因为指针没有指向任何东西。欢迎任何帮助。谢谢。main() int* m; *m = 14; cout << *m <
浏览 2
提问于2011-01-28
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
PHP MySQL Delete
Mariadb:delete造成的主从延迟
详解Python的“is”操作符
MySQL恢复delete的数据
Shift Delete删除的文件如何恢复?
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券