1321強固な基盤:プログラミング言語、データ構造とアルゴリズム

プログラミング言語:

Q:あなたは、ポインタを渡す機能の必要性を記述する場合、あなたはポインタのためのconstを追加する必要がありますか?別の場所の違いプラスのconstポインタはありますか?

A:あなたが値を変更しない場合のconstは、定数を宣言するために使用されているのconstを追加する必要があります。まず、次のコードを見てみましょう。

    int型の A = 100 ;
    const  int型 * B =&;        // 1 
    int型 のconst * B =&;        // 2 
    のint   * のconst B =&;        // 3 
    のconst  int型 * のconst B =&;        // 4

  定数ポインタとポインタ定数を区別するための一つの方法は、constのが左またはアスタリスクの右される探しています。それは1の形態であり、2はCONST指定位置における独立変数として一定のポインタ(一定のコンテンツへのポインタ)である場合、それは1および2に相当し、このフォーム* bは、変更することができない、が、Bができます変数は、すなわち、コンテンツへのポインタを変更することはできないが、ポインタを変更することができます。図3は、ポインタの形である場合には、B、フォーム* bを変更することができる、(本来一定ポインタ)が一定でなく、すなわち、コンテンツポインタを変更することができるが、ポインタを変更することができない、変更することができません。

Q:あなたが渡された関数の引数が複合型の例で記述する必要がある場合は、値とは違いは何ですか渡し参照渡し?ときのconstを追加するための参照を渡す必要がありますか?
:3例があります。

1.のconst修飾子関数のパラメータが渡されました

  例えば、そのような複合体のクラスとして、非イントラデータ型、参照により渡す効率を改善するために、(例えば、コンストラクタコールをコピー)のコピーを減少させる目的の値を渡す必要があります。しかし、intなどの内部データ型、のために、あなたはそれ以外の場合は、効率を向上させるが、コードの可読性を減らすことができないだけでなく、参照渡して値を渡すことはできません。

関数の戻り値CONSTで修飾された2

  CONSTが追加関数の戻り値は、あたかもポインタ型の方法、関数を表す値を返し(ポインタ)のコンテンツを変更することはできません、そして、同じタイプのconst修飾子ポインタに割り当てることができます。もちろん、あなたはconst_castをconstの電気的特性で行くことができます。方法の関数の戻り値としての場合、値型の戻り値を一時変数にコピーされるので、そのように全く使用CONSTは添加しません。関数の戻り値、プラスCONSTない通常の場合のように参照型の方法であれば、それは時間CONST過負荷クラス割当数、鎖発現の目的で添加されなければなりません。

3. constメンバ関数は、修飾します

  コードの堅牢性を向上させるためには、メンバ関数のいずれかのデータメンバはのconstに変更する必要が変更されることはありません、とconstがパラメータリストの増加の後ろに注意を払うように。

データ構造:
リンクリスト、木、スタック、キュー、ハッシュテーブルなど、および関連する操作の1.マスター・データ構造?

2.どのように書くためにリストをリンクされたノードを挿入および削除するには?
A:
書くためにどのようにツリートラバーサル3. 6?
回答:

アルゴリズム:
1.ように時間と空間の複雑さの様々な検索とソートアルゴリズムと原則を理解して?

2.キーマスターバイナリ検索、バイナリ・ソートツリーは見つけるには?

3.マスターキー挿入ソート、バブルソート、マージソート、クイックソート?
A:
4.動的なプログラミングと貪欲法の原理を理解しますか?
回答:

おすすめ

転載: www.cnblogs.com/parzulpan/p/11247375.html