当前位置: 首页> 健康> 母婴 > 湖南省疫情防控指挥部最新公告_许昌网络公司_怎么弄一个自己的网站_做网站怎么赚钱

湖南省疫情防控指挥部最新公告_许昌网络公司_怎么弄一个自己的网站_做网站怎么赚钱

时间:2025/7/10 12:48:52来源:https://blog.csdn.net/zhangzhangkeji/article/details/143976988 浏览次数:0次
湖南省疫情防控指挥部最新公告_许昌网络公司_怎么弄一个自己的网站_做网站怎么赚钱

这个源头文件,在 STL 模板库里的其他模板的定义中,会引用到,因此,记录与注释一下。源代码很短,直接展开来,同时也附上资源 .h 文件:

//
// vcruntime_exception.h
//
//      Copyright (c) Microsoft Corporation. All rights reserved.
//
// <exception> functionality that is implemented in the VCRuntime.
//#pragma once#include <eh.h>#ifdef _M_CEE_PURE#include <vcruntime_new.h>
#endif#if _VCRT_COMPILER_PREPROCESSOR && _HAS_EXCEPTIONS#pragma warning(push)
//在栈中保存当前的警告状态
#pragma warning(disable: _VCRUNTIME_DISABLED_WARNINGS)#pragma pack(push, _CRT_PACKING)
//保存原先的对齐状态,并重置为 8 字节对齐_CRT_BEGIN_C_HEADER   // 在 cPP 里定义 c 代码_VCRTIMP void __cdecl __std_exception_copy  // 这像是一个函数的声明, 功能是字符串复制
(   _In_  __std_exception_data const* _From,  _Out_ __std_exception_data* _To ); // 这像是一个函数的声明,功能像是销毁堆区的字符串
void __cdecl __std_exception_destroy( _Inout_ __std_exception_data* _Data );// 此数据结构,作为下面的类 exception 的数据成员, _DoFree 初始化为 True
struct __std_exception_data { char const* _What;    bool _DoFree; };_CRT_END_C_HEADERnamespace std  // 类 exception 定义于标准命名空间 std 
{ 
#pragma warning(push)  // 保存原先的警告状态
#pragma warning(disable: 4577)   // 'noexcept' used with no exception handling mode specified
class exception
{
private:__std_exception_data _Data; // 此数据成员的定义在上面
public:exception() noexcept : _Data() { } // 默认的空初始化virtual ~exception() noexcept {  __std_exception_destroy(&_Data);  } // 父类的虚析构函数explicit exception(char const* const _Message) noexcept : _Data() // 禁止隐式类型转换{__std_exception_data _InitData = { _Message, true };__std_exception_copy(&_InitData, &_Data);}exception(char const* const _Message, int) noexcept  : _Data() { _Data._What = _Message; }//构造函数的多个版本,重载。  copy 构造函数exception(exception const& _Other) noexcept : _Data(){__std_exception_copy(&_Other._Data, &_Data);}exception& operator=(exception const& _Other) noexcept // copy 赋值运算符函数{if (this == &_Other)       return *this;__std_exception_destroy(&_Data); // 先销毁自己原来保存的字符串__std_exception_copy(&_Other._Data, &_Data);return *this;}_NODISCARD virtual char const* what() const // 父类的虚成员函数,返回本类里保存的字符串的地址{return _Data._What ? _Data._What : "Unknown exception";}};class bad_exception : public exception // 定义 exception 的子类
{
public:bad_exception() noexcept : exception("bad exception", 1) {    }
};class bad_alloc : public exception     // 定义 exception 的子类
{
public:bad_alloc() noexcept : exception("bad allocation", 1) {   }private:friend class bad_array_new_length; // 友元类bad_alloc(char const* const _Message) noexcept : exception(_Message, 1) {  } //私有的有参构造函数
};class bad_array_new_length : public bad_alloc // 孙子类
{
public:bad_array_new_length() noexcept : bad_alloc("bad array new length")  {  }
};#pragma warning(pop) // 恢复原来的警告等级} // namespace std#pragma pack(pop) // 恢复原来的对齐方式#pragma warning(pop) // _VCRUNTIME_DISABLED_WARNINGS
#endif // _VCRT_COMPILER_PREPROCESSOR && _HAS_EXCEPTIONS

谢谢

关键字:湖南省疫情防控指挥部最新公告_许昌网络公司_怎么弄一个自己的网站_做网站怎么赚钱

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: