式と演算子
演算子一覧
優先順位 |
記号 |
意味 |
結合規則 |
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」
// sample03-01.cpp : メイン プロジェクト ファイルです。
#include "stdafx.h"
#include <iostream>
using namespace System;
int main(array<System::String ^> ^args)
{
int a;
int b;
// 先にインクリメントしてから処理を行う
a = 10;
std::cout << "++a = " << ++a << std::endl;
std::cout << " a = " << a << std::endl;
// 先に処理してからインクリメントを行う
a = 10;
std::cout << "a++ = " << a++ << std::endl;
std::cout << "a = " << a << std::endl;
// 先にデクリメントしてから処理を行う
b = 20;
std::cout << "--b = " << --b << std::endl;
std::cout << " b = " << b << std::endl;
// 先に処理してからデクリメントを行う
b = 20;
std::cout << "b-- = " << b-- << std::endl;
std::cout << "b = " << b << std::endl;
return 0;
}
sizeof演算子
// sample03-02.cpp : メイン プロジェクト ファイルです。
#include "stdafx.h"
#include <iostream>
using namespace System;
int main(array<System::String ^> ^args)
{
// 宣言
char a1 = 'c';
short a2 = 100;
int a3 = 50;
// sizeof関数の戻り値設定用
size_t sz;
// charサイズ
sz = sizeof(a1);
std::cout << "a1 = サイズ : " << sz << "バイト" << std::endl;
// shortサイズ
sz = sizeof(a2);
std::cout << "a2 = サイズ : " << sz << "バイト" << std::endl;
// intサイズ
sz = sizeof(a3);
std::cout << "a3 = サイズ : " << sz << "バイト" << std::endl;
std::cout << std::endl;
// charサイズ
sz = sizeof a1;
std::cout << "a1 = サイズ : " << sz << "バイト" << std::endl;
// shortサイズ
sz = sizeof a2;
std::cout << "a2 = サイズ : " << sz << "バイト" << std::endl;
// intサイズ
sz = sizeof a3;
std::cout << "a3 = サイズ : " << sz << "バイト" << std::endl;
}
不等号演算子
値の大小のチェックを行い、条件が真の場合は「1」を偽の場合は「0」を返却する
等価演算子と非等価演算子
等価演算子は値の一致チェックを行い、条件が真の場合は「1」を偽の場合は「0」を返却する
非等価演算子は値の不一致チェックを行い、条件が真の場合は「1」を偽の場合は「0」を返却する
代入演算子
変数へ値を代入、または左辺の変数と右辺の変数の結果を左辺の変数へ格納する
キャスト演算子
ビット演算子
シフト演算子
変数のデータを2進数のビット形態にして、値を2倍または2分の1へする
※1ビットシフトで2倍、または2分の1、2ビットの場合は4倍、4分の1とする
条件演算子
最終更新:2011年09月02日 17:34