C ++容易にするミスや知識ポイント()忘れやすいです

  1. 使用のprintf出力では、文字列の出力形式
    %については-a.bs:
    • 左表す
      幅を表す出力は、幅が十分でない場合、自動的に拡張するのに十分な幅を表す
      文字列が元の幅よりも長い場合、Bは、出力文字列の文字数を表し、カットは、過剰が出力されません

例えば2ポインタアレイ配列ポインタ、:
<1> int型P1 [10];および<2> INT( P2)[10]、
優先順位を識別するためのキーは、オペレータに依存することで、[]は優先度よりも大きいです、 Pが配列であるので、INT修飾が配列の要素、<1>であるポインタの配列であり、各要素はへのポインタである
同じ理由<2>配列ポインタは、10個の要素の配列へのポインタでありますポインタ。

インライン関数について3.
<1>インライン関数コード、いくつかの文だけの非常にシンプルな、迅速に実行する必要があります。機能が複雑であれば、それを実行するには、関数呼び出しのオーバーヘッドで何千回もあり時間が、それは、インライン関数として扱われているコードにコストの多くを作るために体積増加給与の結果であるが、唯一の非常に速いです明らかに費用対効果ではありません1、。

<2>は、12文の唯一の1サイクルとルックスは非常にシンプルに、機能することが含まれるが、ループの実行回数は、多くの時間を過ごすために、たくさんのかもしれので、このような状況は、インライン関数として実装するのに適していません。

あなたは、インライン関数を定義しなければならないこと<3>注(すなわち、全体関数本体)は、インライン関数を呼び出すステートメントの前に現れた、とだけ表示されませインライン関数を宣言しています。

静的メンバ変数に関して前記
<1>静的クラスメンバすべての共有オブジェクトは、特定の例に属さない
<2>の静的メンバ変数は、クラス外で定義されなければならない定義は、静的キーワード付加されていない
<3>の静的メンバをあなたはクラス名::静的メンバーまたはオブジェクトを使用することができます。静的メンバにアクセスするには
、<4>静的メンバ関数は、この指標を隠していない、あなたはアクセス任意の非静的メンバができない
静的メンバとクラスの普通のメンバーは、また、公共があるとして、<5>、保護されました、種private3アクセスレベルは、戻り値を有していてもよい
。<6>サブクラス静的クラスメンバ親アクセスすることができる
。<7>非静的メンバ多型特性

5.関数宣言に関しては
関数宣言、パラメータ名は無視することができ、書き込み
例:int型検索(INT、CHAR );

関連6.Cスタイルストリング
例えば:、
文字A = "ABCDE";
チャー
B = "ABCDE";
//この場合、AとBが同じアドレスであり、ABCDE文字定数領域を指し
チャーC [] =「ABCDE 「;
//このアドレスCと、Bの異なるにおいて、Cは配列であるため、データアレイは、本スタック領域である
チャーD [] = { ' '、 'B'、 'C'、 'D'、E」 「};
// CおよびDは、以上になります『』アレイの初期化を使用して、コンテンツの定義が、異なる大きさと同じに見えるかもしれません」\ 0「要素

7.計算上の構造の大きさ
、通常計算値:
メモリアライメントの問題ので、各種のデータは、異なるサンプルサイズは、構造をリードする位置に置きます。

オフセット:オフセット構造体や変数のアドレスの構造体の構造部材との間の差であり、例えば、第1の構造部材がオフセットオフセットされる第二の構造部材、0であります構造部材の大きさ、第一の部材がint Bである場合、第2のオフセット構造体4は可変です。

構造サイズ計算規則:

  1. オフセットの各メンバーは、メンバーの倍数でなければなりません。
  2. 構造体の大きさは、構造体のメンバの最大バイト数の倍数でなければなりません。

一つのセグメントが計算される:
デフォルトが選択された場合には、線支持当たり4バイト、32ビット、すなわち、32ビットCPU上に整列
最終構造のサイズ(行数* 32)/ 8バイト

8.純粋仮想関数
:使用シナリオ
どのような状況下で、純粋仮想関数(純粋vitrual関数)?
1抽象基底クラスのメソッドをしたい、とのみ、基本クラスを継承することができる場合、インスタンス化できません。
2.この方法は、派生クラス(派生クラス)内に実装されなければなりません。

おすすめ

転載: blog.51cto.com/14232799/2450114