Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, T4r4sB, Вы писали:
CC>А что не так? Лимит в 32 бита конечно неправильно, надо size_t
Ой, я опечатался. Короче, там ввели usize, а должно быть isize. Страуструп тоже так считает:
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1428r0.pdf
TB>> при этом на вопрос что делать если надо вычитать два размера
CC>И в чём проблема?
Проблема в том, что я должен вручную отдельно разбирать случай, когда a<b. Если я забуду это сделать, то получу некорректно работающий код, то есть либо сразу программа свалится в дебаге, либо будет неверное значение в релизе. Никакой проблемы бы не было, если бы изначально был знаковый isize. Когда я спросил, нахрена создавать программистам проблемы, мне сказали что это потому что usize это более "домменно-ориентированный тип". Ок, я тоже подрочил на это красивое слово, но ненужный геморрой не исчез.
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте