03-01-2017, 05:24 PM
I believe that you are correct. Your example is similar to the non-compliant example in the rule
because both this and your example have another side-effect.
Personally, I think that Rule 13.3 falls into the realm of a style guide. The rationale points out that complying with Rule 13.3 avoids some undefined behaviour. However, the same undefined behaviour, and more, is also avoided by complying with Rule 13.2. Provided that Rule 13.2 is being followed, that leaves impairment of readability as the only other rationale for Rule 13.3. I'd say that's debatable and a matter of personal preference.
Since Rule 13.2 is required and Rule 13.3 is advisory, I'd be inclined not to apply Rule 13.3 if it's causing you a problem in this situation.
Code:
g ( u8b++ );
Personally, I think that Rule 13.3 falls into the realm of a style guide. The rationale points out that complying with Rule 13.3 avoids some undefined behaviour. However, the same undefined behaviour, and more, is also avoided by complying with Rule 13.2. Provided that Rule 13.2 is being followed, that leaves impairment of readability as the only other rationale for Rule 13.3. I'd say that's debatable and a matter of personal preference.
Since Rule 13.2 is required and Rule 13.3 is advisory, I'd be inclined not to apply Rule 13.3 if it's causing you a problem in this situation.
<t></t>