Здравствуйте, enji, Вы писали:
VTT>>Для меня это последний аргумент.
E>Верю. но на ровном месте городить класс со статической переменной — это просто "синтаксический оверхед"
Нет, это способ избежать неконтролируемого доступа к глобальным переменным.
VTT>>экнмнабквх,
E>а?
VTT>>неконсистентность,
E>где?
Да куда не плюнь... Что синтаксис, что стандартная библиотека. Чтение и слева направо, и справа налево, и даже по спирали. Потоки ввода-вывода вообще какие-то наркоманы писали, чего только стоит плеяда eback, gptr, egptr, pbase, pptr, epptr, всякие sungetc xsputn, и кидание исключений по флажкам.
VTT>>просто назвать переменную покороче i вместо полноценного item_index,
E>ну батенька....
VTT>>И да, я скажу что C-шный трехсекционный for(;;) не нужен,
E>Фанат бейсика — for i = 1 to 10 step 5? Или питона — for i in xrange(1, 10, 5)?
Скорее фанат Кобола:
PERFORM VARYING COUNTER FROM 1 BY 5 UNTIL COUNTER > 10
VTT>>С-style enum не нужен
E>Почему?
Ну в C enum это скорее замена пачки define. То, что в свежем стандарте C++ появилась возможность делать enum class, да еще и задавая базовый тип — большое достижение. Костыли типа attribute(packed) больше не нужны, и случаи неявного приведения к целочисленным типам (особенно когда они в качестве индекса используются) теперь легче отлавливать.
VTT>>объявление переменных через запятую не нужно
E>Почему?
Несвязные действия в одном statement, полный винегрет с объявлением указателей и инициализацией, ненужные сложности с отладкой.
VTT>>assignment chaining не нужен
E>Почему?
Несвязные действия в одном statement, чтение справа налево, ненужные сложности с отладкой, не имеет смысла при использовании move семантики.
Еще мне не нравится наличие у оператора присваивания возвращаемого значения (и требование возвращать ссылку для соответствия copy assignable), из-за этого случается нехилое количество факапов вида if(i = 42).
Говорить дальше не было нужды. Как и все космонавты, капитан Нортон не испытывал особого доверия к явлениям, внешне слишком заманчивым.