Чем передача буфера и длины отличается от null-terminated string и когда что выбрать?

C/C++MiddleC Core и низкоуровневое программированиеСравнениеc core и низкоуровневое программирование|c api|передача буфера и длины|c++|c

Что хотят услышать интервьюеры:

Сравнение: «передача буфера и длины» выбирают не по привычке, а по контракту, стоимости и safety guarantees. В сравнении с null-terminated string нужно учитывать lifetime, владение, потокобезопасность, читаемость и совместимость с проектом.

Ответ:

Правильная позиция: нет универсально лучшего решения; есть решение, подходящее под ограничения задачи.

void read_data(char* buffer, size_t size);

Источники

Похожие вопросы