最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

调用operator new noexcept 的问题

XAMPP教程 admin 755浏览 0评论

#include <iostream>
#include <new>
#include <cstdio>
using namespace std;

struct A
{
void *operator new(size_t size)
{
cout<<operator new<<endl;
malloc(size);
}
void operator delete(void *p)
{
cout<<operator delete<<endl;
free(p);
}

void *operator new(size_t size,const nothrow_t &thorw_value) noexcept
{
cout<<operator new noexcept<<endl;
malloc(size);
}
void operator delete(void *p,const nothrow_t &nowthrow_value) throw()
{
cout<<operator delete noexpect.<<endl;
free(p);
}
};

int main()
{
A *a1=new A;
delete a1;

A *a2=new(nothrow) A;
delete a2;//为什么调用的是 operator delete 而不是  operator delete noexpect
    return 0;
}

转载请注明:XAMPP中文组官网 » 调用operator new noexcept 的问题

您必须 登录 才能发表评论!