概要 「仮想メモリ」があるからと言って、場当たり的にメモリ領域を使っていいわけではありません。 メモリ上の空き領域を効率的に管理するのもオペレーティング・システムやフレームワークの仕事です。 メモリ領域の管理手法には大きく分けて、スタックとヒープという2種類のものがあります。 スタック スタック(stack)とは、「積み上げる」、「堆積物」というような意味ですが、 その言葉通り、データ領域を積み上げていくような形で管理する方式です。 すなわち、最後に確保した領域を最初に開放します(上に積んで、上から降ろす)。 スタックによるメモリ管理の模式図を図1に示します。 プログラムで使うデータの多くは、あらかじめ決まっている短い範囲でのみ利用されます。 データの利用される範囲のことをスコープ(scope)と呼びます。 図中に示すように、一般に、スコープは入れ子になっていて、内側のスコープで使うデータ
c++でクラスをインスタンス化する際、以下のようにnewを使わない方法、newを使う方法、vectorコンテナを使う方法がある。 Hogeクラス class Hoge { private: int num; public: Hoge(); Hoge(int n); void Disp(); ~Hoge(); }; // デフォルトコンストラクタ Hoge::Hoge() { num = 0; } // 引数付きコンストラクタ Hoge::Hoge(int n) { num = n; } // メンバ変数の表示 void Hoge::Disp() { std::cout << "num = " << num << std::endl; } // デストラクタ Hoge::~Hoge() { } newを使わないクラスの初期化方法 int main() { // デフォルトコントラクタで初期化
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く