【前言】——C++基本概念

2035 ワード

1.ネーミングスペース
ネーミングスペースを定義する目的:名前の競合を防止します.ネーミングスペースは、異なるコードが有効な範囲にカプセル化されていると言えます.
ネーミングスペースはusingを使用して宣言する必要があり、各ネーミングはusingを使用する必要があります.
#include <iostream>
using namespace std;

        using namespace std; ソースコードの任意の位置に置くことができ、異なる位置はstdの異なる有効範囲を表す.
2.ヘッダファイル
C++のヘッダファイルには拡張子がありません.
従来のC言語体系のヘッダファイル部分は依然として.hの拡張子が存在する.一部はC++システムにアップグレードされ、最初はcで識別され、例えばcmath、cstringである.
#include <iostream>
#include <string>
#include <stdio.h>
#include <cmath>

ヘッダファイルには、さまざまな宣言、定数定義、プリコンパイル、コメント、タイプ定義、テンプレート定義などが含まれます.
ソースファイルには、一般的な関数定義、データ定義、エクスポートされたテンプレート定義などが含まれます.
3.typedefの使用
typedefは、各タイプに新しい名前(識別子)を宣言します.
typedef  int  INT_32
typedef  short  INT_16
typedef  unsigned char  UCHAR

4.構造体とクラスの違い
        (1). C言語の構造体には関数を持つことはできませんが、C++構造体とクラスには関数を持つことができます.
        (2). C++構造体の内部メンバー変数およびメンバー関数のデフォルトのアクセスレベルはpublicであり、c++クラスの内部メンバー変数およびメンバー関数のデフォルトのアクセスレベルはprivateである.
        (3). C++構造体の継承のデフォルトはpublicであり、c++クラスの継承のデフォルトはprivateである.
5.変数のポインタとポインタ変数
変数のポインタ:変数のアドレスを変数のポインタと呼びます.
ポインタ変数:ポインタ変数は、変数のアドレスを格納する変数です.int *ptr;
ポインタ変数ptrの値式は、変数のアドレスを指す.cout << ptr << endl;
*ptrの値式で示す変数の内容を参照します.cout << *ptr << end;
6.静的作成と動的作成
静的作成:宣言時、すなわち指定された配列の長さを指します.例えば、int array[20];
動的作成:new動的作成配列を使用し、動的作成ではdelete[]を使用して使用したメモリを解放する必要があります.そうしないと、メモリが漏洩します.例:
cin >> size;
int *ptr = new int[size];
......
delete[] ptr;
7.関数呼び出し
2つの形式:(1)、賦値呼び出し(2)、参照呼び出し
割り当てコール:実パラメータの値をパラメータにコピーし、実パラメータは影響を受けません.
≪コールの適用|Apply Calls|ldap≫:実パラメータのアドレスを形パラメータにコピーします.実パラメータは影響を受けます.
8.auto、static、register、extern
auto:デフォルトタイプで、省略できます.
static:静的ストレージタイプで、関数内のローカル変数の値が関数呼び出しが終了しても消えずに元の値を保持したい場合はstaticで宣言できます.
register:CPUのレジスタに保存できる「レジスタ変数」を宣言します.
extern:外部変数宣言は、他のファイルで定義されていることを示します.
9.pragmaの役割
詳細は博文「C++におけるpragmaの役割」を参照