高水準言語での扱い
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/10 20:02 UTC 版)
「インクリメント」の記事における「高水準言語での扱い」の解説
C言語、C++、Java、JavaScriptなどでは、インクリメント演算子(増量子)「++」が用意されている。前置インクリメントと後置インクリメントの2種類がある。字句は同じ「++」だが前置演算子として使うか(例: ++x)後置演算子として使うか(例: x++)で意味が違う。オペランドの値が整数の場合は1、ポインタの場合は指し示す対象1個ぶん変わるのはどちらも同じだが、式としての値が、前置の場合はインクリメントした後の値になる(この意味は += 1 と同じ)、後置の場合はインクリメントする前の値になる。 y = ++x; // y = (x += 1); と同じy = x++; // y = x; x = x + 1; と同じ C++の演算子オーバーロードでは、通常の記法では前置インクリメントと後置インクリメントを区別できないので、便宜上、後置インクリメントには余分なint型引数を記述して区別する。ただし、古いC++コンパイラはこの後置インクリメントの宣言に対応していないことがある。 T& class T::operator++{ *this += 1; return *this; } // 前置インクリメントのオーバーロードT class T::operator++(int){ T old = *this; *this += 1; return old; } // 後置インクリメントのオーバーロード デクリメント演算子「--」も同様である。
※この「高水準言語での扱い」の解説は、「インクリメント」の解説の一部です。
「高水準言語での扱い」を含む「インクリメント」の記事については、「インクリメント」の概要を参照ください。
- 高水準言語での扱いのページへのリンク