久久久久久久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>

                            主站蜘蛛池模板: 日韩黄色大片 | 97超碰资源站 | 毛片一级片 | 中文字幕不卡视频 | 欧美日韩在线一区二区 | 国产精品欧美精品 | 国产一级一片免费播放放a 国产黄色大片 | 久久99精品久久久久久水蜜桃 | 日日爽夜夜爽 | 福利片在线观看 | 国产精品成人在线观看 | 天天干天天干天天操 | 成年网站在线观看 | 三级黄视频 | 在线观看日韩av | 亚洲精品成人在线 | 国产成人三级一区二区在线观看一 | 欧美xxx视频| 一区二区国产精品 | 精品久久免费视频 | 欧美日韩国产中文字幕 | av一区二区三区 | 成人免费小视频 | 久久久久国产视频 | 欧美一区二区三区视频 | 国产精品一区二区三 | 日韩精品一区二 | 精品黄色片 | 日本一级片在线观看 | 女人高潮特级毛片 | 亚洲精品一区二区三区在线观看 | 一级特黄色片 | 日韩免费视频一区二区 | 国产精品免费在线播放 | 日本免费黄色 | 一区二区三区国产精品 | www.狠狠操.com | 欧美在线一级 | 亚洲最新视频 | 成人网址在线观看 | 国产一区精品在线观看 |