キャストで1.C ++
reinpreter_cast // <-IDタイプ>(式)
//型IDポインタ、参照、算術型、関数ポインタまたはポインタのメンバーでなければなりません
S SS、
S&SS = PS *;
INT = A reinterpret_castは<整数>(PS) ; // reinterpret_castは単にビットPS Aにコピー
// 7208636 0x6dfebc、COUT A << << "" << ENDL << PS
//型IDポインタ、参照、算術型、関数ポインタまたはポインタのメンバーでなければなりません
S SS、
S&SS = PS *;
INT = A reinterpret_castは<整数>(PS) ; // reinterpret_castは単にビットPS Aにコピー
// 7208636 0x6dfebc、COUT A << << "" << ENDL << PS
//はconst_cast <TYPE_ID>(式) - TYPE_ID - > ポインタまたは参照
発現//同じTYPE_IDとタイプ-オブジェクトCONST /揮発性モディファイ-強制的にキャンセルオブジェクトのconst
のconst int型CI = 10;
INT&BI =はconst_cast <INT&> (CI)、
COUT BI << << "" << ENDL << CI; 10 // 10
COUT BI&<< << "" << ENDL <<&CI; //アドレス0x6dfeb4 0x6dfeb4同じ2つの変数
BI = 8。
<< << BI COUT "" << ENDL << CI、10 8 //
COUT BI&<< << "" << ENDL <<&CI; 0x6dfeb4 0x6dfeb4 //
//使用することができる機能パラメータパッシング
発現//同じTYPE_IDとタイプ-オブジェクトCONST /揮発性モディファイ-強制的にキャンセルオブジェクトのconst
のconst int型CI = 10;
INT&BI =はconst_cast <INT&> (CI)、
COUT BI << << "" << ENDL << CI; 10 // 10
COUT BI&<< << "" << ENDL <<&CI; //アドレス0x6dfeb4 0x6dfeb4同じ2つの変数
BI = 8。
<< << BI COUT "" << ENDL << CI、10 8 //
COUT BI&<< << "" << ENDL <<&CI; 0x6dfeb4 0x6dfeb4 //
//使用することができる機能パラメータパッシング
//はstatic_cast <タイプID>(式) - 対応する最も明示的または暗黙的な変換は、
//この式は、オペレータタイプID型に変換されるが、実行時なしタイプは、変換のセキュリティを確保するためにチェック
唯一の主の実現のために使用されるオブジェクトへのポインタと参照のための// dynamic_castを「安全なダウンキャスト。」
また、揮発性の:
よく知られているのconstに類似揮発性は、型修飾子です
揮発性の役割は、マルチスレッドプログラミングのために使用される - 揮発性は、それがあるべきではない最適化を実行するオブジェクトを変更説明するためにコンパイラに指示することです
2.行ポインタ宣言
INT [5] [10]。
INT(* P)[10] =;各行ポインタ10内の要素の数を指し
3.いくつかのファイル操作関数
バイナリツリーの森を変換する方法4
まず、バイナリツリーの基本的な原則に木がある:その真の子供、兄弟とその子供たち、右の左の子
森は、バイナリツリーに変換します:
最初の木の森は、バイナリツリー李ケケに変換され、
右の子の前でバイナリツリーのルートノードとルートノードの後に、バイナリツリー、バイナリツリーから移動しないでください
バイナリツリーに変身するすべての木
見ることができる:Fは、対応する二分木の森のTに変換し、中間ノードの数は、(左の子ノード番号を空T)Fに等しいです。
子どもたちが自分の本当の子供を残しているので、空である必要があり、その左の子の森林リーフノードでバイナリツリーに変換
5.クラスオブジェクトの仮想関数が呼び出され、C ++の使用 - 静的バインディング
静的バインディング仮想関数を仮想関数呼び出しがクラスであるかを決定することができ、コンパイル時に、オブジェクトの名前で呼ばれています
动态联编 通过基类指针调用,在编译阶段无法通过语句本身来确定调用哪一个类的虚函数,只有在运行时指向一个对象后,才能确定调用时哪个类的虚函数