По сути можно использовать последний байт как индикатор на стеке строка или хипе. Тогда первые 23 - свободный буфер. Длину строки на стеке думаю можно и за O(n) посчитать.
Кстати можно использовать 0 для последнего байта, если строка на стеке, и что угодно иное если на куче. Благодаря этому можно ещё и нуль-терминированную строку будет вернуть для совмести с Си
Ну и максимальный размер строки в таком случае будет 2^56) Хотя это вряд ли кого-то огорчит.
По-моему у Александреску есть замечательный доклад на эту тему. Он когда-то проектировал такую строку для folly, если не ошибаюсь
UPD:
ага, я понял. У вас строка всего 16 байт.
Но тогда не понятно почему по той же логике не 15 для SSO
Проверять все элементы подряд по одному слишком долго
В моём случае производительность не важна
определитесь уж важна или нет.
Я думаю что resize_to_range не нужен не из-за производительности, а просто потому что не вижу контекста где он был бы уместен для вектора. Поэтому и попросил пример, который меня не убедил)
наверно отказываться от них где только возможно. цикл в общем случае заменяется на свертку, но есть куча алгоритмов для частных случаев. Вот тут хорошая статья об этом
если вы пользуетесь как раз теми 5 командами, о которых написал автор. А теперь введите git<tab><tab> и увидите еще с десяток о которых вы не слышали. И у каждой еще по десять опций)
В гите целая куча неочевидностей. Возьмите хоть те же checkout/switch)
[тут](https://habr.com/p/353654/) есть немного аргументации и ссылки по теме
извиняюсь, если в статье уже объяснено, но...
почему 16 байт? а не 23
По сути можно использовать последний байт как индикатор на стеке строка или хипе. Тогда первые 23 - свободный буфер. Длину строки на стеке думаю можно и за O(n) посчитать.
Кстати можно использовать 0 для последнего байта, если строка на стеке, и что угодно иное если на куче. Благодаря этому можно ещё и нуль-терминированную строку будет вернуть для совмести с Си
Ну и максимальный размер строки в таком случае будет 2^56) Хотя это вряд ли кого-то огорчит.
По-моему у Александреску есть замечательный доклад на эту тему. Он когда-то проектировал такую строку для folly, если не ошибаюсь
UPD:
ага, я понял. У вас строка всего 16 байт.
Но тогда не понятно почему по той же логике не 15 для SSO
после C++17 нет
чем C++20 ranges и пользуются
определитесь уж важна или нет.
Я думаю что resize_to_range не нужен не из-за производительности, а просто потому что не вижу контекста где он был бы уместен для вектора. Поэтому и попросил пример, который меня не убедил)
я думаю вы на удаление (это O(n) дня вектора) тратите значительно больше, чем выигрываете на бинарном поиске.
Не знаю всего контекста, но возможно вам для поиска достаточно просто принимать range или два итератора.
Приведите пример где этот метод был бы уместен? Я в своей практике такой необходимости не встречал
согласен
с оплатой еще можно смириться, если ты джун.
Но не получать даже обратной связи это очень неприятно.
наверно отказываться от них где только возможно.
цикл в общем случае заменяется на свертку, но есть куча алгоритмов для частных случаев.
Вот тут хорошая статья об этом
что вы предпочитаете для более серьезной автоматизации?
не хочу быть занудой,
вы проделали большую работу.
Но, пожалуйста, используйте Dear ImGui
за ~7 лет жизни в Беларуси, не припомню чтобы получал такие предложения.
Может это объясняется что я немного забочусь о конфиденциальности, но не то чтобы сильно.
Переехав в РФ получаю на новый номер стабильные предложения.
У белорусского мтс есть какой-то секретный способ борьбы с этим? Или мошенникам надоело обманывать белорусских бабушек
вот вам библиотека которая полезна всем - https://github.com/eerimoq/dbg-macro
и не бубните)
похоже забыли один из самых важных советов для создания успешной игры - занимайтесь маркетингом.
Кажется я прочел об этом в книге "кровь, пот, пиксели". Там есть хорошее описание процесса создания инди игры stardew valley.
а если это исправление чего-то, а не создание, то значительная часть времени это введение в контекст, выяснение причин, воспроизведение проблемы.
А когда это все сделано, решение скорее всего будет элементарным
ну вы рассматриваете этот вопрос с точки зрения "лучше для проекта".
Конечно гит лучший выбор из-за выстроенной экосистемы + накопленного опыта + человеческих ресурсов.
Но складывается ощущение, что гит сейчас выбирают не за то что он лучший, а вот за все эти качества.
Так никогда не появится система, которая станет популярнее него.
Я рассматриваю этот вопрос как "куда приведет меня любопытство в экспериментах с разными инструментами".
может мной просто движет желаете найти что-то получше)
да, гит хороший инструмент, которым я пользуюсь каждый день. Но это не значит что я не хочу чего-то ещё более удобного
если вы пользуетесь как раз теми 5 командами, о которых написал автор.
А теперь введите git<tab><tab> и увидите еще с десяток о которых вы не слышали. И у каждой еще по десять опций)
В гите целая куча неочевидностей. Возьмите хоть те же checkout/switch)
[тут](https://habr.com/p/353654/) есть немного аргументации и ссылки по теме
кажется пора что-то попроще поискать..
может fossil попробовать
странное у вас понимание высоко/низко-уровневости.
Назовите высокоуровневую фичу раста, которой нет в зиг?
И зиг кажется небезопасный. Хотя после раста все под "безопасностью" понимаю что хотят, поэтому кто знает)
Создали для себя бога - ООП.
Разочаровались в своем боге - ООП.
Нашли нового бога - ФП.
....
продолжение следует через 17 лет использования ФП)
12 уже прошло, xd
честно говоря, не переубедили.
я использую gdb постоянно, но довольно плохо с ним знаком.
reverse-* кстати не работают в многопоточной программе, хотя наверняка я просто не знаю какого то хака.
Хотелось чтобы вы показали как дебажить реальную большую программу.
Иначе я все ещё умею дебажить бабл сорт, но трачу часы на воспроизведение и поиск причины ошибки в многопоточной гуи