aboutsummaryrefslogtreecommitdiffstats
path: root/source/lang/cpp/compoundarithmetic.rst
diff options
context:
space:
mode:
Diffstat (limited to 'source/lang/cpp/compoundarithmetic.rst')
-rw-r--r--source/lang/cpp/compoundarithmetic.rst44
1 files changed, 44 insertions, 0 deletions
diff --git a/source/lang/cpp/compoundarithmetic.rst b/source/lang/cpp/compoundarithmetic.rst
new file mode 100644
index 0000000..420f1db
--- /dev/null
+++ b/source/lang/cpp/compoundarithmetic.rst
@@ -0,0 +1,44 @@
+.. highlight:: cpp
+
+.. _lang-compoundarithmetic:
+
+Compound Arithmetic Operators (``+=`` , ``-=``, ``*=``, ``/=``)
+===============================================================
+
+These oparators perform a mathematical operation on a variable with
+another constant or variable. These operators are just a convenient
+shorthand::
+
+ x += y; // equivalent to the expression x = x + y;
+ x -= y; // equivalent to the expression x = x - y;
+ x *= y; // equivalent to the expression x = x * y;
+ x /= y; // equivalent to the expression x = x / y;
+
+Here is an example::
+
+ int x = 2;
+ int y = 10;
+
+ x += 4; // x now contains 6
+ x -= 3; // x now contains 3
+ x *= y; // x now contains 30
+ x /= 2; // x now contains 15
+ x += max(20, 6); // x now contains 35
+ x -= sq(5); // x now contains 15
+
+Parameters
+----------
+
+**x**: a numeric variable
+
+**y**: a numeric variable, number constant, or any other expression
+that evaluates to a number (e.g. call to a function that returns a
+number).
+
+See Also
+--------
+
+- :ref:`Arithmetic operators <lang-arithmetic>`
+
+
+.. include:: cc-attribution.txt