久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

  • <tfoot id='YkMjn'></tfoot>

    <small id='YkMjn'></small><noframes id='YkMjn'>

    <legend id='YkMjn'><style id='YkMjn'><dir id='YkMjn'><q id='YkMjn'></q></dir></style></legend>

      1. <i id='YkMjn'><tr id='YkMjn'><dt id='YkMjn'><q id='YkMjn'><span id='YkMjn'><b id='YkMjn'><form id='YkMjn'><ins id='YkMjn'></ins><ul id='YkMjn'></ul><sub id='YkMjn'></sub></form><legend id='YkMjn'></legend><bdo id='YkMjn'><pre id='YkMjn'><center id='YkMjn'></center></pre></bdo></b><th id='YkMjn'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='YkMjn'><tfoot id='YkMjn'></tfoot><dl id='YkMjn'><fieldset id='YkMjn'></fieldset></dl></div>
          <bdo id='YkMjn'></bdo><ul id='YkMjn'></ul>

        捕獲“堆棧溢出"遞歸 C++ 函數中的異常

        Catching quot;Stack Overflowquot; exceptions in recursive C++ functions(捕獲“堆棧溢出遞歸 C++ 函數中的異常)
      2. <tfoot id='Nio3z'></tfoot>
          <bdo id='Nio3z'></bdo><ul id='Nio3z'></ul>
          <i id='Nio3z'><tr id='Nio3z'><dt id='Nio3z'><q id='Nio3z'><span id='Nio3z'><b id='Nio3z'><form id='Nio3z'><ins id='Nio3z'></ins><ul id='Nio3z'></ul><sub id='Nio3z'></sub></form><legend id='Nio3z'></legend><bdo id='Nio3z'><pre id='Nio3z'><center id='Nio3z'></center></pre></bdo></b><th id='Nio3z'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='Nio3z'><tfoot id='Nio3z'></tfoot><dl id='Nio3z'><fieldset id='Nio3z'></fieldset></dl></div>

              <legend id='Nio3z'><style id='Nio3z'><dir id='Nio3z'><q id='Nio3z'></q></dir></style></legend>

                  <small id='Nio3z'></small><noframes id='Nio3z'>

                    <tbody id='Nio3z'></tbody>
                1. 本文介紹了捕獲“堆棧溢出"遞歸 C++ 函數中的異常的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  是否可以在遞歸 C++ 函數中捕獲堆棧溢出異常?如果是,怎么辦?

                  Is it possible to catch a stack overflow exception in a recursive C++ function? If so, how?

                  那么在這種情況下會發生什么

                  so what will happen in this case

                  void doWork()
                  {
                  
                       try() {
                  
                       doWork();    
                       }
                  
                  
                       catch( ... )  {
                  
                       doWork();    
                       }
                  }  
                  

                  我不是在尋找特定操作系統的答案.只是一般

                  I am not looking for an answer to specific OS. Just in general

                  推薦答案

                  這本身并不是一個例外,但如果您只想將堆棧使用限制在一個固定的數量,您可以這樣做:

                  It's not an exception per se, but if you just want to be able to limit your stack usage to a fixed amount, you could do something like this:

                  #include <stdio.h>
                  
                  // These will be set at the top of main()
                  static char * _topOfStack;
                  static int _maxAllowedStackUsage;
                  
                  int GetCurrentStackSize()
                  {
                     char localVar;
                     int curStackSize = (&localVar)-_topOfStack;
                     if (curStackSize < 0) curStackSize = -curStackSize;  // in case the stack is growing down
                     return curStackSize;
                  }
                  
                  void MyRecursiveFunction()
                  {
                     int curStackSize = GetCurrentStackSize();
                     printf("MyRecursiveFunction:  curStackSize=%i
                  ", curStackSize);
                  
                     if (curStackSize < _maxAllowedStackUsage) MyRecursiveFunction();
                     else
                     {
                        printf("    Can't recurse any more, the stack is too big!
                  ");
                     }
                  }
                  
                  int main(int, char **)
                  {
                     char topOfStack;
                     _topOfStack = &topOfStack;
                     _maxAllowedStackUsage = 4096;  // or whatever amount you feel comfortable allowing
                  
                     MyRecursiveFunction();
                     return 0;
                  }
                  

                  這篇關于捕獲“堆棧溢出"遞歸 C++ 函數中的異常的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  In what ways do C++ exceptions slow down code when there are no exceptions thown?(當沒有異常時,C++ 異常會以何種方式減慢代碼速度?)
                  Why catch an exception as reference-to-const?(為什么要捕獲異常作為對 const 的引用?)
                  When and how should I use exception handling?(我應該何時以及如何使用異常處理?)
                  Scope of exception object in C++(C++中異常對象的范圍)
                  Catching exceptions from a constructor#39;s initializer list(從構造函數的初始化列表中捕獲異常)
                  Difference between C++03 throw() specifier C++11 noexcept(C++03 throw() 說明符 C++11 noexcept 之間的區別)

                        <legend id='kmLdD'><style id='kmLdD'><dir id='kmLdD'><q id='kmLdD'></q></dir></style></legend>
                          <tbody id='kmLdD'></tbody>

                      • <small id='kmLdD'></small><noframes id='kmLdD'>

                          <bdo id='kmLdD'></bdo><ul id='kmLdD'></ul>
                          <tfoot id='kmLdD'></tfoot>
                          <i id='kmLdD'><tr id='kmLdD'><dt id='kmLdD'><q id='kmLdD'><span id='kmLdD'><b id='kmLdD'><form id='kmLdD'><ins id='kmLdD'></ins><ul id='kmLdD'></ul><sub id='kmLdD'></sub></form><legend id='kmLdD'></legend><bdo id='kmLdD'><pre id='kmLdD'><center id='kmLdD'></center></pre></bdo></b><th id='kmLdD'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='kmLdD'><tfoot id='kmLdD'></tfoot><dl id='kmLdD'><fieldset id='kmLdD'></fieldset></dl></div>

                            主站蜘蛛池模板: 美国av毛片 | 欧美成人一级视频 | 嫩草视频免费 | 久久久av| 天天射夜夜操 | 日韩最新网址 | 午夜av成人| 亚洲综合资源 | 久久一二| 欧美二区在线 | av一级| 青娱乐自拍 | 久久天堂 | 久久69精品久久久久久久电影好 | 国产精品久久久久久二区 | 欧美99| 中国一级大黄大片 | 日韩一区二区免费视频 | 国产伦精品一区二区三区照片91 | 欧美国产日韩一区二区三区 | 久草网站| 在线观看国产 | 亚洲精品成人在线 | 高清人人天天夜夜曰狠狠狠狠 | 青青久久| av国产精品 | 亚洲 欧美 日韩 在线 | 久久一起草 | 性生生活大片免费看视频 | 国产欧美日韩在线一区 | 国产一区二区三区 | 91亚洲精品国偷拍自产在线观看 | 一级片在线观看 | 日本福利在线观看 | 久久久久久久一区二区 | 精品免费视频一区二区 | 一区二区三区四区视频 | 91国在线视频 | 午夜视频在线播放 | 国产精品国产成人国产三级 | 日本网站免费在线观看 |