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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 一.程序內存存儲結構 | 存儲區 | 生命周期 | | ---- | ---- | | 堆區 *heap* | 動態生命期 | | 棧區 *stack* | 局部生命期 | | 數據區 *data* | 靜態生命期 | | 代碼區 *code* | 靜態生命期 | ## 二.生命周期簡介 1. 靜態生命期 + **時間** [長]整個程序運行期。 + **時機** 預編譯時期。 + **對象** 全局變量,靜態全局變量,靜態局部變量,const常變量,函數。 + **存儲** 數據區/代碼區。 + **初值** 變量若不作顯式初始化,C++編譯器會自動將其初始化成(相應類型的)0。 2. 局部生命期 + **時間** [短]起始于聲明點,結束于作用域結束處。 + **時機** 編譯時期。 + **對象** 局部變量。 + **存儲** 棧區。 + **初值** 若不作初始化,其值不確定。 3. 動態生命期 + **時間** [短]由程序員自行干預。 + **時機** 運行時期。 + **對象** 程序員手動分配的空間。 + **存儲** 堆區。 + **初值** 若不作初始化,其值不確定。 ## 三.存儲類型 1. **auto** + 定義:自動申請和釋放內存的變量,變量不會自動初始化 + 作用域:語句塊內 + 存儲位置:一般為內存的棧區 + 生存周期:語句塊內 + **局部變量的默認存儲類型為auto** 2. **static** + 作用域 + 靜態局部變量:語句塊內 + 靜態全局變量:定義它的文件內,定義點->文件結尾 + 存儲位置:內存的數據區 + 生存周期:整個程序的運行期 + **沒有顯式初始化的靜態變量在編譯階段自動初始化為0**。 3. **register** + **優點** 執行速度快 + 定義的變量存儲于CPU的寄存器。 + 不能用register定義數組。 + 除存儲位置不同外,其余與auto基本相同。 + 現代編譯器能夠自動優化程序,把普通變量優化為寄存器變量,并且可以忽略用戶的register指定,一般情況無需特別聲明變量為register。 4. **extern** + 使用extern關鍵字引用一個已存在的變量(或函數)。 >[info]extern用于聲明,其余關鍵字用于定義。 ## 四.延長生命期的方法 1. 引用一個右值,會延長右值的生命期,使得右值的生命期與引用的生命期相同。
                  <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>

                              哎呀哎呀视频在线观看