Ну, можно утверждать, что a++
коротко и по существу. Он может только увеличивать a
на один, но обозначение очень хорошо понято. a=a+1
является немного более подробным (не большое дело, если у вас нет variablesWithGratuitouslyLongNames
), но некоторые могут утверждать, что он более «гибкий», потому что вы можете заменить 1
или любой из a
, чтобы изменить выражение. a+=1
, возможно, не такой гибкий, как два других, но немного более ясный, в том смысле, что вы можете изменить количество приращений. ++a
отличается от a++
, а некоторые возражают против этого, потому что это не всегда понятно людям, которые его часто не используют.
Что касается эффективности, я думаю, что большинство современных компиляторов будут производить одинаковый код для всех этих, но я мог ошибаться. Действительно, вам нужно будет запускать свой код со всеми вариантами и измерять, что лучше всего работает.
(при условии, что a
целое)
Вы действительно думаете, что должны были отвечать на основании эффективности? Кроме того, ваше название и вопрос не согласны. Я угадываю и редактирую это. –
Это C, или C++? Потому что в C++ вы не можете предположить, что a ++ и a + = 1 являются одной и той же операцией (или что другая будет существовать, если первая делает). –
@Caleb: ... или что код даже компилируется. – fredoverflow