亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? myexcept.cpp

?? 復(fù)數(shù)運(yùn)算庫(kù)
?? CPP
字號(hào):
//$$myexcept.cpp                        Exception handler// Copyright (C) 1993,4,6: R B Davies#define WANT_STREAM                    // include.h will get stream fns#define WANT_STRING#include "include.h"                   // include standard files#include "boolean.h"#include "myexcept.h"                  // for exception handling#ifdef use_namespacenamespace RBD_COMMON {#endif//#define REG_DEREG                    // for print out uses of new/delete//#define CLEAN_LIST                   // to print entries being added to                                       // or deleted from cleanup list#ifdef SimulateExceptionsvoid Throw(){   for (Janitor* jan = JumpBase::jl->janitor; jan; jan = jan->NextJanitor)      jan->CleanUp();   JumpItem* jx = JumpBase::jl->ji;    // previous jumpbase;   if ( !jx ) { Terminate(); }         // jl was initial JumpItem   JumpBase::jl = jx;                  // drop down a level; cannot be in front                                       // of previous line   Tracer::last = JumpBase::jl->trace;   longjmp(JumpBase::jl->env, 1);}#endif                                 // end of simulate exceptionsunsigned long Exception::Select;char* Exception::what_error;int Exception::SoFar;int Exception::LastOne;Exception::Exception(const char* a_what){   Select++; SoFar = 0;   if (!what_error)                   // make space for exception message   {      LastOne = 511;      what_error = new char[512];      if (!what_error)                // fail to make space      {         LastOne = 0;         what_error = (char *)"No heap space for exception message\n";      }   }   AddMessage("\n\nAn exception has been thrown\n");   AddMessage(a_what);   if (a_what) Tracer::AddTrace();}void Exception::AddMessage(const char* a_what){   if (a_what)   {      int l = strlen(a_what); int r = LastOne - SoFar;      if (l < r) { strcpy(what_error+SoFar, a_what); SoFar += l; }      else if (r > 0)      {         strncpy(what_error+SoFar, a_what, r);         what_error[LastOne] = 0;         SoFar = LastOne;      }   }}void Exception::AddInt(int value){   bool negative;   if (value == 0) { AddMessage("0"); return; }   else if (value < 0) { value = -value; negative = true; }   else negative = false;   int n = 0; int v = value;        // how many digits will we need?   while (v > 0) { v /= 10; n++; }   if (negative) n++;   if (LastOne-SoFar < n) { AddMessage("***"); return; }   SoFar += n; n = SoFar; what_error[n] = 0;   while (value > 0)   {      int nv = value / 10; int rm = value - nv * 10;  value = nv;      what_error[--n] = (char)(rm + '0');   }   if (negative) what_error[--n] = '-';   return;}void Tracer::PrintTrace(){   cout << "\n";   for (Tracer* et = last; et; et=et->previous)      cout << "  * " << et->entry << "\n";}void Tracer::AddTrace(){   if (last)   {      Exception::AddMessage("Trace: ");      Exception::AddMessage(last->entry);      for (Tracer* et = last->previous; et; et=et->previous)      {         Exception::AddMessage("; ");         Exception::AddMessage(et->entry);      }      Exception::AddMessage(".\n");   }}#ifdef SimulateExceptionsJanitor::Janitor(){   if (do_not_link)   {      do_not_link = false; NextJanitor = 0; OnStack = false;#ifdef CLEAN_LIST      cout << "Not added to clean-list " << (unsigned long)this << "\n";#endif   }   else   {      OnStack = true;#ifdef CLEAN_LIST      cout << "Add to       clean-list " << (unsigned long)this << "\n";#endif      NextJanitor = JumpBase::jl->janitor; JumpBase::jl->janitor=this;   }}Janitor::~Janitor(){   // expect the item to be deleted to be first on list   // but must be prepared to search list   if (OnStack)   {#ifdef CLEAN_LIST      cout << "Delete from  clean-list " << (unsigned long)this << "\n";#endif      Janitor* lastjan = JumpBase::jl->janitor;      if (this == lastjan) JumpBase::jl->janitor = NextJanitor;      else      {	 for (Janitor* jan = lastjan->NextJanitor; jan;	    jan = lastjan->NextJanitor)	 {	    if (jan==this)	       { lastjan->NextJanitor = jan->NextJanitor; return; }	    lastjan=jan;	 }	 Throw(Exception("Cannot resolve memory linked list\nSee notes in myexcept.cpp for details\n"         ));// This message occurs when a call to ~Janitor() occurs, apparently// without a corresponding call to Janitor(). This could happen if my// way of deciding whether a constructor is being called by new// fails.// It may happen if you are using my simulated exceptions and also have// your compiler s exceptions turned on.// It can also happen if you have a class derived from Janitor// which does not include a copy constructor [ eg X(const &X) ].// Possibly also if delete is applied an object on the stack (ie not// called by new). Otherwise, it is a bug in myexcept or your compiler.// If you do not #define TEMPS_DESTROYED_QUICKLY you will get this// error with Microsoft C 7.0. There are probably situations where// you will get this when you do define TEMPS_DESTROYED_QUICKLY. This// is a bug in MSC. Beware of "operator" statements for defining// conversions; particularly for converting from a Base class to a// Derived class.// You may get away with simply deleting this error message and Throw// statement if you can not find a better way of overcoming the// problem. In any case please tell me if you get this error message,// particularly for compilers apart from Microsoft C 7.0.      }   }}JumpItem* JumpBase::jl;              // will be set to zerojmp_buf JumpBase::env;bool Janitor::do_not_link;           // will be set to falseint JanitorInitializer::ref_count;JanitorInitializer::JanitorInitializer(){   if (ref_count++ == 0) new JumpItem;                                    // need JumpItem at head of list}#endif                              // end of SimulateExceptionsTracer* Tracer::last;               // will be set to zerovoid Terminate(){   cout << "\n\nThere has been an exception with no handler - exiting";   const char* what = Exception::what();   if (what) cout << what << "\n";   exit(1);}#ifdef DO_FREE_CHECK// Routines for tracing whether new and delete calls are balancedFreeCheckLink::FreeCheckLink() : next(FreeCheck::next)   { FreeCheck::next = this; }FCLClass::FCLClass(void* t, char* name) : ClassName(name) { ClassStore=t; }FCLRealArray::FCLRealArray(void* t, char* o, int s)  : Operation(o), size(s) { ClassStore=t; }FCLIntArray::FCLIntArray(void* t, char* o, int s)  : Operation(o), size(s) { ClassStore=t; }FreeCheckLink* FreeCheck::next;int FreeCheck::BadDelete;void FCLClass::Report(){ cout << "   " << ClassName << "   " << (unsigned long)ClassStore << "\n"; }void FCLRealArray::Report(){   cout << "   " << Operation << "   " << (unsigned long)ClassStore <<      "   " << size << "\n";}void FCLIntArray::Report(){   cout << "   " << Operation << "   " << (unsigned long)ClassStore <<      "   " << size << "\n";}void FreeCheck::Register(void* t, char* name){   FCLClass* f = new FCLClass(t,name);   if (!f) { cout << "Out of memory in FreeCheck\n"; exit(1); }#ifdef REG_DEREG   cout << "Registering   " << name << "   " << (unsigned long)t << "\n";#endif}void FreeCheck::RegisterR(void* t, char* o, int s){   FCLRealArray* f = new FCLRealArray(t,o,s);   if (!f) { cout << "Out of memory in FreeCheck\n"; exit(1); }#ifdef REG_DEREG   cout << o << "   " << s << "   " << (unsigned long)t << "\n";#endif}void FreeCheck::RegisterI(void* t, char* o, int s){   FCLIntArray* f = new FCLIntArray(t,o,s);   if (!f) { cout << "Out of memory in FreeCheck\n"; exit(1); }#ifdef REG_DEREG   cout << o << "   " << s << "   " << (unsigned long)t << "\n";#endif}void FreeCheck::DeRegister(void* t, char* name){   FreeCheckLink* last = 0;#ifdef REG_DEREG   cout << "Deregistering " << name << "   " << (unsigned long)t << "\n";#endif   for (FreeCheckLink* fcl = next; fcl; fcl = fcl->next)   {      if (fcl->ClassStore==t)      {	 if (last) last->next = fcl->next; else next = fcl->next;	 delete fcl; return;      }      last = fcl;   }   cout << "\nRequest to delete non-existent object of class and location:\n";   cout << "   " << name << "   " << (unsigned long)t << "\n";   BadDelete++;   Tracer::PrintTrace();   cout << "\n";}void FreeCheck::DeRegisterR(void* t, char* o, int s){   FreeCheckLink* last = 0;#ifdef REG_DEREG   cout << o << "   " << s << "   " << (unsigned long)t << "\n";#endif   for (FreeCheckLink* fcl = next; fcl; fcl = fcl->next)   {      if (fcl->ClassStore==t)      {	 if (last) last->next = fcl->next; else next = fcl->next;	 if (s >= 0 && ((FCLRealArray*)fcl)->size != s)	 {	    cout << "\nArray sizes do not agree:\n";	    cout << "   " << o << "   " << (unsigned long)t	       << "   " << ((FCLRealArray*)fcl)->size << "   " << s << "\n";	    Tracer::PrintTrace();	    cout << "\n";	 }	 delete fcl; return;      }      last = fcl;   }   cout << "\nRequest to delete non-existent real array:\n";   cout << "   " << o << "   " << (unsigned long)t << "   " << s << "\n";   BadDelete++;   Tracer::PrintTrace();   cout << "\n";}void FreeCheck::DeRegisterI(void* t, char* o, int s){   FreeCheckLink* last = 0;#ifdef REG_DEREG   cout << o << "   " << s << "   " << (unsigned long)t << "\n";#endif   for (FreeCheckLink* fcl = next; fcl; fcl = fcl->next)   {      if (fcl->ClassStore==t)      {	 if (last) last->next = fcl->next; else next = fcl->next;	 if (s >= 0 && ((FCLIntArray*)fcl)->size != s)	 {	    cout << "\nArray sizes do not agree:\n";	    cout << "   " << o << "   " << (unsigned long)t	       << "   " << ((FCLIntArray*)fcl)->size << "   " << s << "\n";	    Tracer::PrintTrace();	    cout << "\n";	 }	 delete fcl; return;      }      last = fcl;   }   cout << "\nRequest to delete non-existent int array:\n";   cout << "   " << o << "   " << (unsigned long)t << "   " << s << "\n";   BadDelete++;   Tracer::PrintTrace();   cout << "\n";}void FreeCheck::Status(){   if (next)   {      cout << "\nObjects of the following classes remain undeleted:\n";      for (FreeCheckLink* fcl = next; fcl; fcl = fcl->next) fcl->Report();      cout << "\n";   }   else cout << "\nNo objects remain undeleted\n\n";   if (BadDelete)   {      cout << "\nThere were " << BadDelete <<          " requests to delete non-existent items\n\n";   }}#endif                            // end of DO_FREE_CHECK// derived exception bodiesLogic_error::Logic_error(const char* a_what) : Exception(){   Select = Exception::Select;   AddMessage("Logic error:- "); AddMessage(a_what);   if (a_what) Tracer::AddTrace();}Runtime_error::Runtime_error(const char* a_what)   : Exception(){   Select = Exception::Select;   AddMessage("Runtime error:- "); AddMessage(a_what);   if (a_what) Tracer::AddTrace();}Domain_error::Domain_error(const char* a_what) : Logic_error(){   Select = Exception::Select;   AddMessage("domain error\n"); AddMessage(a_what);   if (a_what) Tracer::AddTrace();}Invalid_argument::Invalid_argument(const char* a_what) : Logic_error(){   Select = Exception::Select;   AddMessage("invalid argument\n"); AddMessage(a_what);   if (a_what) Tracer::AddTrace();}Length_error::Length_error(const char* a_what) : Logic_error(){   Select = Exception::Select;   AddMessage("length error\n"); AddMessage(a_what);   if (a_what) Tracer::AddTrace();}Out_of_range::Out_of_range(const char* a_what) : Logic_error(){   Select = Exception::Select;   AddMessage("out of range\n"); AddMessage(a_what);   if (a_what) Tracer::AddTrace();}//Bad_cast::Bad_cast(const char* a_what) : Logic_error()//{//   Select = Exception::Select;//   AddMessage("bad cast\n"); AddMessage(a_what);//   if (a_what) Tracer::AddTrace();//}//Bad_typeid::Bad_typeid(const char* a_what) : Logic_error()//{//   Select = Exception::Select;//   AddMessage("bad type id.\n"); AddMessage(a_what);//   if (a_what) Tracer::AddTrace();//}Range_error::Range_error(const char* a_what) : Runtime_error(){   Select = Exception::Select;   AddMessage("range error\n"); AddMessage(a_what);   if (a_what) Tracer::AddTrace();}Overflow_error::Overflow_error(const char* a_what) : Runtime_error(){   Select = Exception::Select;   AddMessage("overflow error\n"); AddMessage(a_what);   if (a_what) Tracer::AddTrace();}Bad_alloc::Bad_alloc(const char* a_what) : Exception(){   Select = Exception::Select;   AddMessage("bad allocation\n"); AddMessage(a_what);   if (a_what) Tracer::AddTrace();}unsigned long Logic_error::Select;unsigned long Runtime_error::Select;unsigned long Domain_error::Select;unsigned long Invalid_argument::Select;unsigned long Length_error::Select;unsigned long Out_of_range::Select;//unsigned long Bad_cast::Select;//unsigned long Bad_typeid::Select;unsigned long Range_error::Select;unsigned long Overflow_error::Select;unsigned long Bad_alloc::Select;#ifdef use_namespace}#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区在线观看网站| 欧美高清精品3d| 粉嫩嫩av羞羞动漫久久久| 久久99精品一区二区三区三区| 日韩国产欧美在线播放| 五月综合激情日本mⅴ| 日韩综合小视频| 秋霞成人午夜伦在线观看| 老司机一区二区| 精品一区二区三区在线观看 | 丝袜美腿成人在线| 亚洲午夜电影网| 五月开心婷婷久久| 蜜臀久久99精品久久久久宅男 | 91麻豆精品91久久久久同性| 欧美日韩免费观看一区二区三区 | 欧美韩国一区二区| 椎名由奈av一区二区三区| 一区二区三区在线免费播放 | 国产高清精品网站| kk眼镜猥琐国模调教系列一区二区| 成人性生交大片免费看在线播放 | 亚洲人成网站色在线观看| 亚洲美女屁股眼交| 三级欧美在线一区| 国产乱码一区二区三区| av不卡免费在线观看| 欧美亚洲国产bt| 2021久久国产精品不只是精品| 亚洲国产精品精华液2区45| 亚洲欧美激情一区二区| 免费看欧美女人艹b| 国产成人免费网站| 欧美系列亚洲系列| 精品成人免费观看| 亚洲欧美中日韩| 欧美a级一区二区| 成人免费观看av| 欧美久久久久久久久中文字幕| www国产精品av| 亚洲在线视频网站| 韩国视频一区二区| 欧美视频一区二区三区| 久久亚洲精精品中文字幕早川悠里| 亚洲三级在线观看| 蜜臀va亚洲va欧美va天堂| 99久久99久久综合| 日韩精品一区二区三区蜜臀| 国产精品福利av| 美女诱惑一区二区| 日本久久一区二区三区| 欧美tickling网站挠脚心| 亚洲精品一二三四区| 麻豆国产欧美一区二区三区| 91免费观看视频| 2024国产精品| 肉色丝袜一区二区| 99久久综合99久久综合网站| 日韩一卡二卡三卡四卡| 亚洲免费在线看| 国产精品中文字幕一区二区三区| 欧美亚洲日本国产| 国产精品激情偷乱一区二区∴| 人人超碰91尤物精品国产| 色先锋aa成人| 中文字幕av一区 二区| 麻豆国产一区二区| 欧美午夜电影在线播放| 国产精品国产a级| 国产美女一区二区三区| 日韩一区二区三区av| 一区二区三区毛片| av在线不卡免费看| 久久精品无码一区二区三区| 蜜桃视频免费观看一区| 欧美日韩夫妻久久| 亚洲桃色在线一区| 成人免费视频caoporn| 精品成人佐山爱一区二区| 奇米综合一区二区三区精品视频| 日本久久一区二区三区| 国产精品久久久久7777按摩| 国产酒店精品激情| 精品日产卡一卡二卡麻豆| 香港成人在线视频| 欧美日韩在线直播| 亚洲一区自拍偷拍| 色婷婷av一区二区三区软件 | 国产精品久久精品日日| 国产成人午夜电影网| 26uuu另类欧美亚洲曰本| 日韩电影免费在线看| 欧美做爰猛烈大尺度电影无法无天| 中文字幕一区二区三区不卡在线 | 欧美一级片在线| 日韩精品一区第一页| 欧美在线观看一二区| 五月天丁香久久| 色欧美日韩亚洲| 樱桃国产成人精品视频| 91极品美女在线| 亚洲一区二区三区免费视频| 91官网在线免费观看| 亚洲综合色在线| 欧美日韩激情一区二区三区| 亚洲国产精品自拍| 欧美日韩中文国产| 日韩高清中文字幕一区| 正在播放一区二区| 麻豆视频一区二区| 久久久久久毛片| 成人免费观看视频| 亚洲另类春色国产| 欧美日韩日日骚| 麻豆国产欧美日韩综合精品二区| 精品久久99ma| 国产福利精品一区| 亚洲欧美偷拍另类a∨色屁股| 91麻豆福利精品推荐| 一区二区三区资源| 日韩一区二区中文字幕| 经典三级视频一区| 国产精品伦一区| 色久综合一二码| 日本女优在线视频一区二区| 久久综合精品国产一区二区三区 | 91福利国产精品| 日韩精品电影在线观看| xfplay精品久久| av一本久道久久综合久久鬼色| 一区二区三区**美女毛片| 91超碰这里只有精品国产| 国产一本一道久久香蕉| 亚洲欧美韩国综合色| 在线综合视频播放| 国产乱码精品一区二区三区五月婷| 国产精品久久夜| 911精品国产一区二区在线| 国产综合成人久久大片91| 亚洲少妇30p| 欧美一区二区精品在线| 成人一道本在线| 日韩专区一卡二卡| 亚洲国产成人私人影院tom | 国产精品久久久99| 欧美乱妇一区二区三区不卡视频| 精品在线一区二区| 一区二区三区丝袜| 26uuu精品一区二区在线观看| 99久久精品国产导航| 琪琪一区二区三区| 亚洲视频免费在线| 精品日韩在线观看| 欧美亚洲国产bt| 国产成人av电影在线| 性做久久久久久免费观看欧美| 国产日产精品1区| 欧美久久久久久久久| 99久久国产综合精品麻豆| 久久精品国产色蜜蜜麻豆| 一区二区视频在线| 国产色产综合色产在线视频| 欧美日本一道本在线视频| 成人午夜电影久久影院| 日本美女视频一区二区| 亚洲免费伊人电影| 日本一区二区综合亚洲| 91麻豆精品国产91久久久久| 91年精品国产| 国产成人免费视频| 精久久久久久久久久久| 天天操天天色综合| 国产精品久久久久久妇女6080 | 日韩高清在线观看| 亚洲欧洲综合另类| 国产精品美女一区二区三区| 日韩一区二区三区电影 | 国产精品亲子伦对白| 日韩欧美一区电影| 欧美日韩一本到| 欧美在线一二三四区| 成人国产电影网| 国产成人8x视频一区二区| 久久精品国产77777蜜臀| 亚洲一区二区三区激情| 亚洲欧美一区二区三区国产精品| 欧美经典一区二区三区| 精品成人在线观看| 精品女同一区二区| 日韩一二三四区| 欧美一区三区二区| 欧美理论电影在线| 欧美日韩在线三级| 欧美日韩国产高清一区二区三区| 91日韩精品一区| 94-欧美-setu| 91在线精品秘密一区二区| 成人av在线播放网址| 成人国产精品视频| 91丨porny丨蝌蚪视频|