C++ベースの式メモ


C++式に関する知識1、概念演算オブジェクト、式、組合せ演算子と演算オブジェクト、演算オブジェクト変換、リロード演算子、左値と右値のまとめ
  • 左値(lvalue)で、左値として使用する場合、オブジェクトID(メモリ内の位置)
  • を使用します.
  • 右値(rvalue)は、右値として使用する場合、オブジェクトの値(内容)を使用します.
  • 演算子によって演算対象に対する要求が異なり、左値演算対象が必要なものもあれば、右値演算対象が必要なものもあり、戻り値にも差があり、左値結果が返されたり、右値結果が返されたりします.
    1.1、算術演算子が型取り演算に関与する演算対象は、整数でなければならない.1.2、論理と関係演算子&&,‖短絡評価1.3、賦値演算子"=",注意区分等しい"=="賦値1.4、増分と減算演算子++,-,注意前後
    int i = 1;
    int j = i++;//j = 1,i = 2
    int k = ++i;//k = 3,i = 3

    混用解参照とインクリメント
    int iarr[] = {1,2,3,4};
    int *ptr = iarr;
    int ret = *ptr++ 
    //*ptr++ = *(ptr++),
      ret = 1, ptr =&iarr[1]

    1.5、メンバー・アクセス演算子ポイント演算子および矢印演算子.いずれも、メンバー・ポイント演算子にアクセスしてクラス・オブジェクトのメンバー・矢印演算子とポインタ・タイプの演算オブジェクトを取得するために使用でき、結果は左です.ptr->memは(*ptr)に等しい.mem
    string str = "hello world",*p = &str;
    auto n = str.size();
    n = (*p).size(); //               
    n = p->size();

    1.6、条件演算子(?:)
    1.7、ビット演算子記号がどのように処理されるかについては規定がないので、演算子として記号のないタイプを処理することを強くお勧めします
    1.8、sizeof演算子は、式またはタイプ名のバイト数を返します.
    int ival,*p;
    sizeof p;//         
    sizeof *p;//           。

    1.7、カンマ演算子
    forサイクルでよく使われる
    2、タイプ変換暗黙変換明示変換