Как стать автором
Поиск
Написать публикацию
Обновить

Комментарии 8

3 абзаца и 3 предложения? Это самое короткое интервью и статья на хабре, которую я когда-либо видел)
Уже поправили. Верстка поехала))
Спасибо. Почитаем)
ужасное интервью. понятно, что проблема не ваша, оно такое в оригинале, но зачем такое переводить?

* первый вопрос, почему цикл for(...) if (data[c] > 128) sum+=data[c]; работает в шесть раз быстрее на отсортированном массиве (правильный ответ: из-за предсказания ветвлений). Ответ — почему sort() быстрее работает на отсортированном массиве. Дык, это ж другой вопрос. Очевидно же, что сортировка отсортированного может быть быстрой. Пузырёк, например, может за O(N) работать на отсортированом массиве, и что?

* Второй вопрос, про оператор «изменяется по направлению к», while (x --> 0) {...}. Ответ — рассмотрим if (p-->m == 0) f(p);. Но это ж не «изменяется по направлению к».

* Пятый вопрос «как мне пройтись итератором по всем словам в строке, если 'слово' это последовательность символов, разделённая пробелами». Ответ — «stringstream, но как вы определяете слово?»

Видно, что вопросы явно дальше заголовка не читались.
Добавлю про оператор "-->". Его можно использовать в цикле while следующим образом:
size_t i = 10;
while (i --> 0) {
    std::cout << i << std::endl;
}

Получается идиома «делать, пока i стремится к нулю».
Вот только «пока i стремится к нулю» не должно учитывать ноль. А это конструкция будет работать и при i==0

На самом деле любой мало-мальски грамотный автоформаттер разделит это непотребство на более логичное i-- > 0 и нет тут никаких идиом. Зато есть очень полезное свойство для for


for(auto i = container.size(); i-- > 0;){}

Польза от auto здесь в том, что контейнер не обязательно из STL, a, например, из Qt, у которых .size() возвращает int.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий