<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                最近在工程中為了達到目的,使用了很多全局變量,導致程序運行效率降低。 在程序運行時,根據需要到內存中相應的存儲單元中調用,如果一個變量在程序中頻繁使用,例如循環變量,那么,系統就必須多次訪問內存中的該單元,影響程序的執行效率。因此,C\C++語言還定義了一種變量,不是保存在內存上,而是直接存儲在CPU中的寄存器中,這種變量稱為寄存器變量。 總覺得有些太low,就Google了一番。 首先我們清楚,有個叫寄存器的東西,如果是變量存儲在寄存器上,就相當于直接操作CPU,程序當然會運轉的很流暢;計算速度也是很快。 全部變量不是分配在寄存器上的,并且全局變量可以通過指針,函數等對其進行修改。所以尤其對于一些循環,一定要避免頻繁使用全局變量。 但是如果又避免不了使用全局變量,那該如何是好? 一個巧妙的方法就是把全局變量賦值給一個臨時變量,對臨時變量進行操作,最后再將臨時變量的值賦給全局變量。 請看代碼: ~~~ int f(void); int g(void); int errs; void test1(void) { errs += f(); errs += g(); } void test2(void) { int localerrs = errs; localerrs += f(); localerrs += g(); errs = localerrs; } ~~~ 我們可以進行測試,test2的速度優于test1,尤其對于多次使用全局變量的時候。 既然提到了寄存器,現在就簡單聊一聊關鍵字register。 關鍵字register是C語言引入的,就是建議編譯器使用cpu寄存器來存儲自動變量: ~~~ register int count_fast; ~~~ 目的就是為了提高訪問變量的速度。 在C++11之前,register在C++中扮演著同樣的角色。 在C++11中,register關鍵字不再表示是寄存器變量,而只是顯式指出變量是自動的。與auto關鍵字的作用相同。 但是為什么又不廢除呢? 當然是為了兼容前人所寫的代碼而已。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看