《C++Primer》小札記二

4015 ワード

知らず知らずのうちに第1部を見終わって、比接もずっと整理していないで、ますますCentosの下でgnoteという小さい手帳が使いやすいことを発見して、書くプログラムを見る過程の中でもしどんな小さい問題あるいは小さいものが記録することができるならば、ここでこの数日のノートを整理して、1つのよくない現象が文法について過度にあることを発見して、もちろん第1部は大体そうですが、特に他の言語の基礎やアルゴリズムの基礎があって、多くのものが悪くないような気がします.
第五章:
    1.a+=bとa=a+bの問題2.前オペレータと後オペレータ+--3.原子操作4.左値と右値の問題のアセンブリ表現5.sizeofがsizeofをexprに使用する場合、int*pポインタなどの式exprの値は計算されません.参照は解除されませんが、sizeof(p)とsizeof(*p)の違いに注意してください.評価順序、例--プログラミングスタイル6.新とdelete 1.new intとnew int()の違いは現れず、両者の出力はいずれも0 2である.deleteがnewで割り当てられたポインタではないのは合法的ではない.懸垂ポインタ:delete p後、pは定義されていないようになり、多くのマシンでは、pは定義されていないにもかかわらず、以前に指向していたオブジェクトのアドレスが保存されているが、pが指向するメモリは解放され、pは有効ではなく、削除後すぐにポジションNULL 4になるべきである.ダイナミックメモリ管理でエラーが発生しやすい場所1.deleteに失敗しました2.削除するオブジェクトを読み書き3.同じオブジェクトdeleteを2回5.constオブジェクトの作成と回収6.*p**pのnew問題7.タイプ変換1.配列をポインタに変換しないクラス外の場合は、配列がアドレス(&)オペレータのオペランドとして使用するか、sizeof操作のオペランドとして使用するか、配列の参照を配列で初期化する.強制変換タイプが必要な場合もあるが、本質的には非常に危険である.強制タイプ変換1.dynamic_cast    2.const_cast 3.static_cast--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------関係のない文は必ずしも無害ではないので、空の文には注釈を付けるべきだ.懸垂elseプログラミングスタイル3.caseの後のbreak文を省略するのは珍しいので、いくつかの注釈の説明を提供するべきです.case符号は整数定数式でなければならず、変数ではなく、const intは5.switch内部の変数定義1.単一定義は、最後のcase符号(default符号なし)またはdefault符号の後に変数2を定義する必要がある.ただし、ブロックに6を定義することができる.ループ条件で定義する変数は、ループごとに作成および取り消しのプロセス7を経験する.練習問題6.12 8.try関数は処理コードを探す過程でterminate tryを出す.cppエラー9.標準異常10.プリプロセッサによるデバッグ7章:1.C++は静的で強いタイプの言語であり、関数呼び出しのたびにコンパイル時に実参2をチェックする.cのconstパラメータには違いがあります
const.c: In function ‘test’:
const.c:4: error: assignment of read-only location ‘i’
const.c:5: error: assignment of read-only location ‘j’
const.c: In function ‘main’:
const.c:10: error: ‘j’ undeclared (first use in this function)
const.c:10: error: (Each undeclared identifier is reported only once
const.c:10: error: for each function it appears in.)

    3.レプリケーション形式パラメータの限界
    4.引用伝惨
効率比較:クリックしてリンクを開く
パラメータのタイプ
    5.左の値
    6.参照形式パラメータを使用する唯一の目的が実パラメータの付与を避ける場合は、形式パラメータをconst型として定義します.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2014-12-10 8:24に更新
    1.配列形式パラメータの要素を変更する必要がない場合は、関数はconstオブジェクトへのポインタとして定義する必要があります.
    2.リファレンス伝達配列と非リファレンスの違い
    3.安全な操作配列--3つの方法
    4.ローカルオブジェクトの参照とポインタは絶対に返さないでください
    5.左の値を参照します.これはちょっと面白いです.
    6.デフォルトの実パラメータ
        1.形式パラメータにデフォルトの実パラメータがある場合は、その後のすべての形式パラメータにデフォルトの実パラメータが必要です.
        2. 既定の実パラメトリック伝達?
        3.char set(char = ' ')
7.6インライン関数
7.7クラスのメンバー関数
        1.コンパイラはクラス内で定義されたメンバー関数をインライン関数として暗黙的に使用します.
        2.thisポインタ
        3.constオブジェクト、constオブジェクトへのポインタまたは参照は、constメンバー関数を呼び出すためにのみ使用できます.constメンバー関数以外の関数を呼び出そうとすると、エラーです.
7.8リロード関数
        1. 1+3と1.0+3.0
        2.C++では、名前検索はタイプチェックの前に発生します.
        3.タイプと形式パラメータ
        4.リロード決定の3つのステップ
        5.実パラメトリックタイプ変換
            1.関数マッチングと美劇タイプ
            2.パラメータが参照またはポインタである場合、パラメータがconstであるかどうか
に影響
            3.パラメータがレプリカで渡される場合、パラメータがconstであるかどうかに基づいてリロードを実現することはできません.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
第八章:
8.1     1.派生関係--図2.IOオブジェクトは値付け不可または値付け不可8.2条件状態1.カンマ式2.様々な状態の処理--または演算の応用??8.3出力バッファの管理1.プログラムがクラッシュした場合、バッファがendlではなくendlを使用する理由をリフレッシュしなかった.バッファをリフレッシュする様々な方法8.4ファイルの入出力1.ファイルモード