Не совсем так. Байты в реальных приложениях практически всегда рассматриваются как числа, увы. Ну или в тех приложениях где я работаю. Криптография, сериализация и маршаллинг данных.
Может быть в крипте и рассматриваются, но в сериализации и маршалинге это как раз просто хранение чего то в виде сырых байт
Да, но я сомневаюсь, что компилятор сумеет соптимизировать упаковку varint для uint256 если написать код чисто манипулирующий битами, по сравнению с тем, как это будет соптимизировано руками с числами и операциями сравнения.
Давай так: Ты понимаешь почему возможность делать char c; c-'0' это плохо?
Меня не надо этому учить, я это прекрасно понимаю. Я говорю о том, что с текущим стл, где нельзя даже файл открыть как стрим std::byte всё это становится резко не очень практично.