アットウィキロゴ

式と演算子

演算子一覧

優先順位 記号 意味 結合規則
1 :: スコープ解決 なし
2 . クラスメンバアクセス →
2 -> クラスメンバアクセス →
2 [] 配列 →
2 () 関数呼び出し →
2 ++ 後置インクリメント →
2 -- 後置デクリメント →
2 static_cast 静的キャスト →
2 dynamic_cast 動的キャスト →
2 const_cast 定値性キャスト →
2 reinterpret_cast 強制キャスト →
2 typeid 型識別 →
3 ++ 前置インクリメント ←
3 -- 前置デクリメント ←
3 ! 論理否定 ←
3 ~ 補数 ←
3 + 正符号 ←
3 - 負符号 ←
3 & アドレス ←
3 * 間接参照 ←
3 delete オブジェクトの破棄 ←
3 delete[] 配列の破棄 ←
3 new オブジェクトの構築 ←
3 new[] 配列の構築 ←
3 sizeof 記憶量 ←
3 () 型キャスト ←
4 .* メンバポインタ →
4 ->* メンバポインタ →
5 * 乗算 →
5 / 除算 →
5 % 剰余算 →
6 + 加算 →
6 - 減算 →
7 << ビット左シフト →
7 >> ビット右シフト →
8 < 左不等号(大きい) →
8 <= 等価左不等号(以上) →
8 > 右不等号(小さい) →
8 >= 等価右不等号(以下) →
9 = 等価 →
9 != 不等価 →
10 & ビット積 →
11 ^ ビット差 →
12 | ビット和 →
13 && 論理積 →
14 || 論理和 →
15 ?: 条件。[a ? b : c]のように使う ←
16 = 代入 ←
16 *= 乗算代入 ←
16 /= 除算代入 ←
16 %= 剰余代入 ←
16 += 加算代入 ←
16 -= 減算代入 ←
16 <<= 左シフト代入 ←
16 >>= 右シフト代入 ←
16 ^= ビット差代入 ←
16 &= ビット積代入 ←
16 |= ビット和代入 ←
17 , コンマ演算子 →

インクリメント・デクリメント演算子

演算子が変数の前が後かで処理前、処理後に値を加算する
※加算する値は1度に「1」
  1. // sample03-01.cpp : メイン プロジェクト ファイルです。
  2.  
  3. #include "stdafx.h"
  4. #include <iostream>
  5. using namespace System;
  6.  
  7. int main(array<System::String ^> ^args)
  8. {
  9.  
  10. int a;
  11. int b;
  12.  
  13. // 先にインクリメントしてから処理を行う
  14. a = 10;
  15. std::cout << "++a = " << ++a << std::endl;
  16. std::cout << " a = " << a << std::endl;
  17.  
  18. // 先に処理してからインクリメントを行う
  19. a = 10;
  20. std::cout << "a++ = " << a++ << std::endl;
  21. std::cout << "a = " << a << std::endl;
  22.  
  23. // 先にデクリメントしてから処理を行う
  24. b = 20;
  25. std::cout << "--b = " << --b << std::endl;
  26. std::cout << " b = " << b << std::endl;
  27.  
  28. // 先に処理してからデクリメントを行う
  29. b = 20;
  30. std::cout << "b-- = " << b-- << std::endl;
  31. std::cout << "b = " << b << std::endl;
  32.  
  33.  
  34. return 0;
  35. }
  36.  
  37.  

sizeof演算子

式や型のサイズを調べる
  1. // sample03-02.cpp : メイン プロジェクト ファイルです。
  2.  
  3. #include "stdafx.h"
  4. #include <iostream>
  5.  
  6. using namespace System;
  7.  
  8. int main(array<System::String ^> ^args)
  9. {
  10. // 宣言
  11. char a1 = 'c';
  12. short a2 = 100;
  13. int a3 = 50;
  14.  
  15. // sizeof関数の戻り値設定用
  16. size_t sz;
  17.  
  18. // charサイズ
  19. sz = sizeof(a1);
  20. std::cout << "a1 = サイズ : " << sz << "バイト" << std::endl;
  21.  
  22. // shortサイズ
  23. sz = sizeof(a2);
  24. std::cout << "a2 = サイズ : " << sz << "バイト" << std::endl;
  25.  
  26. // intサイズ
  27. sz = sizeof(a3);
  28. std::cout << "a3 = サイズ : " << sz << "バイト" << std::endl;
  29. std::cout << std::endl;
  30.  
  31. // charサイズ
  32. sz = sizeof a1;
  33. std::cout << "a1 = サイズ : " << sz << "バイト" << std::endl;
  34.  
  35. // shortサイズ
  36. sz = sizeof a2;
  37. std::cout << "a2 = サイズ : " << sz << "バイト" << std::endl;
  38.  
  39. // intサイズ
  40. sz = sizeof a3;
  41. std::cout << "a3 = サイズ : " << sz << "バイト" << std::endl;
  42.  
  43. }
  44.  
  45.  

不等号演算子

値の大小のチェックを行い、条件が真の場合は「1」を偽の場合は「0」を返却する

等価演算子と非等価演算子

等価演算子は値の一致チェックを行い、条件が真の場合は「1」を偽の場合は「0」を返却する
非等価演算子は値の不一致チェックを行い、条件が真の場合は「1」を偽の場合は「0」を返却する

代入演算子

変数へ値を代入、または左辺の変数と右辺の変数の結果を左辺の変数へ格納する

キャスト演算子

変数のデータ型を別のデータ型にする

ビット演算子

変数のデータを2進数のビット形態にして計算する

シフト演算子

変数のデータを2進数のビット形態にして、値を2倍または2分の1へする
※1ビットシフトで2倍、または2分の1、2ビットの場合は4倍、4分の1とする

条件演算子

3項演算子といわれているもの





最終更新:2011年09月02日 17:34