aboutsummaryrefslogtreecommitdiffstats
path: root/docs/source/lang/increment.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/source/lang/increment.rst')
-rw-r--r--docs/source/lang/increment.rst44
1 files changed, 44 insertions, 0 deletions
diff --git a/docs/source/lang/increment.rst b/docs/source/lang/increment.rst
new file mode 100644
index 0000000..5536a0a
--- /dev/null
+++ b/docs/source/lang/increment.rst
@@ -0,0 +1,44 @@
+.. highlight:: cpp
+
+.. _lang-increment:
+
+Increment (``++``) and Decrement (``--``)
+=========================================
+
+These operators increment (add one to) or decrement (subtract one
+from) a variable. If they come before the variable, they return its
+new value; otherwise, they return its old value.
+
+Some quick examples::
+
+ x++; // adds one to x, and returns the old value of x
+ ++x; // adds one to x, and returns the new value of x
+
+ x--; // decrement x by one and returns the old value of x
+ --x; // decrement x by one and returns the new value of x
+
+A more extended example::
+
+ x = 2;
+ y = ++x; // x now contains 3, y contains 3
+ y = x--; // x contains 2 again, y still contains 3
+
+.. warning:: Be careful! You cannot put a space in between the two
+ ``+`` or ``-`` signs. This example is broken::
+
+ // this line won't compile (notice the extra space):
+ int y = x+ +;
+
+Parameters
+----------
+
+**x**: an integer value (like an ``int``, ``long``, ``unsigned int``,
+etc.).
+
+See also
+--------
+
+- :ref:`Compound arithmetic operators <lang-arithmeticcompound>`
+
+
+.. include:: cc-attribution.txt