1.C ++メモリパーティションモデル
プロセスで実行されているC ++プログラムは、メモリには、次の4つのパーティションに分割されます
コード領域:プログラムのプログラムバイナリコード、コメントなどは、この領域に配置されます
グローバルエリア:記憶静的変数、グローバル変数、定数(文字列定数とCONST修飾定数)、この領域のデータは、プログラムの終了時に、オペレーティングシステムによって解放されます
スタック領域:などのローカル変数、関数パラメータを格納するために使用、コンパイラによって自動的に解除され、割り当てられているので、それがリターンアドレススタック領域ではありません、
ヒープ:私たちは、オペレーティングシステムのリリースによって、プログラムの終了を放出しない場合は、ストレージオブジェクト、割り当てられたプログラマによってリリース(new演算子を使用しては、後ほど紹介します)
C ++の新しいキーワードによりスタック領域にデータを開きます
あなたは新しい配列されている場合
ご注意ください
コード領域とグローバル領域は、それがすでに存在するときexeファイルの実行可能ファイルにコンパイルが、プログラムのexeファイルの実装後のスタック領域とヒープ領域が生成され、
2.なぜ除算メモリ(メモリ分割センス)
別のライフサイクルを与える異なる領域に異なるデータは、プログラミングの柔軟性を向上させます
3.参照
変数への参照を使用して某
前記事の修正は、転送アドレス引数は、値によって渡される引数は、参照パラメータ修正の関数として、引数、変更する複雑な引数のポインタを単純化するプロセスを変更しません
ローカル変数は、関数の戻り値として返すことができません
ローカル静的変数の場合は、返すことができます
リファレンスは、基本的にポインタ定数であります
const参照
4.機能の関連
機能に関する以前のシリーズC ++の知識の基礎は、一部の機能に高度な知識を追加するために、ここで説明しました
1.C ++の機能は、デフォルト値を持つことができます
2.C ++関数のパラメータはプレースホルダプレースホルダを使用することができる、関数呼び出しは、この位置を埋めるために必要です
3.関数のオーバーロード
定義:同じスコープの下で、異なるタイプまたはパラメータまたは逐次パラメータの異なる数が2つの異なる機能。このとき、この2つの関数は、同じ名前にすることができます。再利用性を向上させます
注:関数は関数としてオーバーロードされていない状態の値を返します
4.重負荷条件などの基準があり、関数
5.関数のオーバーロード遭遇デフォルトパラメータ注