c new和delete 實現動態分配記憶體問題

2021-08-17 09:53:32 字數 684 閱讀 8214

設定義乙個類:

class listarray

;請完成該類成員函式的定義和測試程式的設計。

【提示】編寫void put(int n)函式時,注意考慮陣列滿的情況。如果陣列已滿,則沒有空間儲存n,此時需動態申請新的記憶體空間,其大小應比原陣列大小大1,並將原陣列元素備份到新陣列,新陣列的最後乙個元素存放n,當然不要忘記釋放為原陣列動態分配的記憶體空間。

listarray.h:

#ifndef _listarray_h_

#define _listarray_h_

class listarray

;#endif

listarray.cpp:

#include "listarray.h"

#include using namespace std;

listarray::listarray(int s)

void listarray::put(int n)

else

else p[elem++] = n;

}}void listarray::print()

輸出結果:

1 2 

1 2 3

1 2 3 4

C new和delete的使用

new和delete已經完全包含malloc和free的功能,並且更強大 方便 安全。使用動態分配記憶體時不能忘記釋放記憶體,不要忘記出錯處理!下面先看new和delete的基本使用方法。複製 純文字新視窗 include using namespace std intmain 釋放記憶體 dele...

C New和Delete 用法知其然

new和delete都是c 常用關鍵字,但是內部原理著實不簡單,我此篇是站在淺學用之的角度來歸納其表面使用和淺層原理。如果想深入理解這兩個關鍵字我推薦一下這篇部落格 首先在用法明確幾點 1.他們是系統關鍵字。2.他的標準實現在c 標準標頭檔案是 include 實際上引用了的話會間接引用到 3.我們...

C new和delete的用法

對於計算機程式設計而言,變數和物件在記憶體中的分配都是編譯器在編譯程式時安排好的,這帶來了極大的不便,如陣列必須大開小用,指標必須指向乙個已經存在的變數或物件。對於不能確定需要占用多少記憶體的情況,動態記憶體分配解決了這個問題。new和delete運算子是用於動態分配和撤銷記憶體的運算子。一 new...