FizzBuzz Optimisation | Modulus vs Decrement Operator Performance
Looks good - you're using only simple integer addition and subtraction.
Except for the division hidden here:
    std::cout &lt;&lt; i &lt;&lt; '\n';

Note that division by a constant isn't necessarily as expensive as you think: it's always possible for an optimising compiler to implement it in terms of multiplication and bitwise operations.  And a test for being an exact multiple is often simpler (think of the well-known algorithms for testing divisibility by 9 or 11 in decimal).
If you really want to drive up performance, consider storing the integer value as a string (any kind), and implement the ++ operation character by character.
You may also be interested in High throughput Fizz Buzz over on the Programming Puzzles site.