aboutsummaryrefslogtreecommitdiffstats
path: root/docs/source/lang/increment.rst
blob: 6dffa804bb2101f230e139c03958e63c1d5bd5db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
.. highlight:: cpp

.. _lang-increment:

Increment and Decrement Operators (``++``, ``--``)
==================================================

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+ +;

See Also
--------

- :ref:`lang-compoundarithmetic`

.. include:: cc-attribution.txt