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のオペレータは、実際の派生型を得ることができます。
より多くの使用は、コンパイル時にすべきである型チェックを。