Некоторые могут считать, что такие вопросы демонстрируют, насколько хорошо человек разбирается в...
Некоторые могут считать, что такие вопросы демонстрируют, насколько хорошо человек разбирается в своей предметной области и понимает, как устроено всё "под капотом". Однако возникает вопрос: будете ли вы каждый раз в новом проекте инициализировать подобные вещи для вывода информации на экран, или предпочтёте использовать уже готовые решения?
```#include
size_t strlen(const char *str) {
size_t length = 0;
while (str[length] != '\0') {
length++;
}
return length;
}
int main() {
const char *message = "Привет, мир!\n";
size_t length = strlen_custom(message);
write(STDOUT_FILENO, message, length);
return 0;
}```
Вопрос, в первую очередь (спасибо Хабру), заключается не в том, как писать производительный код, а в том, как обеспечить его удобство для дальнейшей поддержки. Например, тот же бесконечный цикл можно записать следующим образом:
```for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);```
```#include
size_t strlen(const char *str) {
size_t length = 0;
while (str[length] != '\0') {
length++;
}
return length;
}
int main() {
const char *message = "Привет, мир!\n";
size_t length = strlen_custom(message);
write(STDOUT_FILENO, message, length);
return 0;
}```
Вопрос, в первую очередь (спасибо Хабру), заключается не в том, как писать производительный код, а в том, как обеспечить его удобство для дальнейшей поддержки. Например, тот же бесконечный цикл можно записать следующим образом:
```for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);```


