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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                >[danger]動態空間一旦分配,就需要自行回收,否則會產生內存泄漏(內存垃圾)。 ## 一.使用new和delete運算符分配 + C++的new運算符返回一個指針。 + 當內存不足時,new表達式會拋出一個類型為 `std::bad_alloc` 的異常。 + 如果需要內存不足時返回空指針,可以加一個(nothrow) `int *p2 =new (nothrow) int;` ```c++ #include <iostream> using namespace std; int main() { //分配空間 int *uninitialized = new int; //分配空間并初始化 int *initialized = new int(666); //分配連續的空間(不能初始化) int *array = new int[5]; int i; //賦值 *uninitialized = 2333; for (i = 0; i < 5; i++) { array[i] = i; } //輸出 cout<<*initialized<<endl; for (i = 0; i < 5; i++) { cout<<array[i]<<endl; } delete uninitialized;//釋放空間 delete initialized;//釋放空間 delete[] array;//釋放數組空間 return 0; } ``` ## 二.使用函數分配 >[danger]要使用這些函數,需要引用標準庫 `stdlib.h` 或 `cstdlib` ```c void * malloc (unsigned size);//創建空間 void free (void *p);//釋放空間 void * realloc (void *p,unsigned size);//修改空間 void * calloc (unsigned n,unsigned size);//創建空間并初始化為0 ``` `malloc` 與 `calloc` 的區別: + 參數不一樣。 + `calloc` 會將分配到的空間初始化為0,而 `malloc` 不會進行初始化。 `malloc` 與 `new` 的區別: + `malloc` 分配空間后,不會調用類的構造函數,而 `new` 則會調用構造函數。 + `malloc` 返回一個 `void *` 指針,需要手動類型轉換,而 `new` 則返回對象指針。 + 當內存不足時,`new` 表達式會拋出一個類型為 `std::bad_alloc` 的異常。而 `malloc` 則會返回空指針。 `free` 與 `delete` 的區別: + `free` 不會調用類的析構函數,而 `delete` 會調用類的析構函數。
                  <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>

                              哎呀哎呀视频在线观看