C++ (1)

4192 ワード

C++の内容を整理!


コーディング基準

  • パラメータ
  • をより良く命名
  • 読取り専用パラメータを
  • に定量化する.
    bool TryDivide(Vector& result, const Vector& a, const Vector& b);
    
    const Vector a;
    const Vector b;
    Vector result;
    
    TryDivide(a, b, result); // compile error
    TryDivide(result, a, b); // OK
  • 発信者はTryDivide(a, b, c);
  • を行うことができる.
  • 読取り専用パラメータは定数参照であり、出力結果パラメータはポインタである.TryDivide(&a, b, c);
  • 変数aはNULLであってもよいが、これは
  • であるはずがない.
  • 関数にassert関数を加えてaがNULLである場合、
  • string

  • std::文字列クラスは文字列長
  • を増加させることができる.
    string firstName = "Jiwon";
    string lastName = "Yang"
    string fullName = "Jiwon Yang";
    
    fullName = firstName;
    fullName += " Yang";
    
    fullName = firstName + " " + lastName
  • const char*c str():文字列が存在する文字配列の先頭アドレスを指すポインタ
  • を返す.
  • 文字列はHipMemoryに割り当てられ、HipMemoryの割り当ては
  • 遅い.
  • メモリ断片化問題
  • 内部バッファの増加は、マルチスレッド環境に対して安全でない可能性がある
  • .
  • ですので、多くのchar[]をsprintfとともに
  • を使用しています.

    ファイルI/O


    ファイルI/O<fstream>

  • ifstream:入力ファイル
  • ofstream:ファイル出力
  • fstream:ファイル入出力
  • open()

  • 各ストリームにはopen()メソッド
  • があります.
    fin.open("HelloWorld.txt", ios_base:in | ios_base::binary);

    close()

  • 各ストリームにはclose()メソッド
  • があります.
    fin.close();

    is_open()

  • ファイルが
  • を開くかどうかを確認します.
    if (fs.is_open())