C ++読書ノート

        leetcodeブラシは、それが600の以上の質問、疑問は、(具体的には、ゲームが唯一の週再生されます)ブラシ速度の最近の減速はC ++関連のコンテンツを見始めました。

        コンテンツは継続的にほぼ短時間で更新し、それはちょうど私の個人的なメモであるので、それ自体では、技術的な内容を欠いされます。

        内容:C ++プライマー/効果的なC ++

演算子のオーバーロード

        コピー代入演算子、Cスタイルの変換代入演算子:

文字列&演算子 =(CONST文字列&)。
文字列演算子 =(CONST  のchar *)。

        操作を追加します。

文字列&演算子 + =(CONST文字列&)。
文字列演算子 + =(CONST  のchar *)。

        演算子のオーバーロードとしてクラスのメンバーは次の文をサポートしていない問題を破ります:

文字列の花。
もし(花== " ユリ"// OK 
それ以外 の場合" チューリップ" ==花)// エラー

       コンパイラが暗黙の変換を行うことはありません、ここでは、左オペランドを満たすために、オペレータの存在はCスタイルの文字列であることを願って、右オペランドはString型の文字列であるが、実際には存在しません。(非効率的で、左オペランド変換型コンストラクタのために見つけることができ、必要なすべてのクラス定義を参照)。

       書き込みの非メンバ関数として:

ブール 演算子 ==(CONST文字列&、CONST文字列&)。
ブール 演算子 ==(CONST文字列&、CONST  のchar *)。

        アカウントに文字列型への変換Cスタイルの文字列のオーバーヘッドを取る:オリジナルの意図した後ヘビーデューティーを提供することです。

        以下は、クラスメンバー演算子である必要があります。

=、[]、()、 - >

生存

        グローバルオブジェクト:あなたがプログラムの割り当てを起動すると、プログラムの終了時に破壊されました。

        ローカルネイティブオブジェクト:ブロックの破壊を残して、定義されたブロックに入る作成します。

        ローカル静的オブジェクト:配布前に初めて、プログラムの最後の破壊。

        動的に割り当てられたオブジェクト:リリース時に破壊され表示されます。(フリーストア/ヒープ)

shared_ptrのクラス

shared_ptrの< 文字列 > P1; 
shared_ptrの <リスト< int型 >> P2。

        デフォルトの初期化スマートポインタはNULLポインタを保持しています。

RTTI

         ランタイムタイプ識別:実際に取得した基準の基底クラス/タイプへのポインタ。

        (1)dynamic_cast演算子、セキュリティ型変換。

        (2)タイプIDのオペレータは、実際の派生型を得ることができます。

        より多くの使用は、コンパイル時にすべきである型チェックを。

おすすめ

転載: www.cnblogs.com/fish1996/p/11494070.html