動的メモリの確保 - new演算子
プログラマの指定するタイミングでメモリを確保することを動的メモリの確保という。
また、動的メモリはプログラマ自身で解放してあげる必要がある。
newは確保したメモリのアドレスを返す。
ポインタ = new 型名; // 動的メモリの確保
〜動的メモリの利用
delete ポインタ; // 動的メモリの解放
int *p; p = new classA; *p = 5; cout << *p << endl; delete p;
ではさっそく使ってみる。
【プログラム】
#include <iostream> using namespace std; int main(){ int n; int *p; cout << "要素数を入力" << endl; cin >> n; p = new int[n]; for(int i = 0; i < n; i++){ p[i] = i * 2 + 1; } for(int i = 0; i < n; i++){ cout << p[i] << " "; } cout << endl; cout << "出力終了" << endl; delete[] p; cout << "解放しました" << endl; return 0; }
【実行結果】
要素数を入力 9 1 3 5 7 9 11 13 15 17 出力終了 解放しました