auto также скрывает тип, но повсеместен в современном C++. Хотя может вы из секты людей, которые всегда явно пишет тип переменных?
Хороший алиас позволяет в первую очередь меньше читать. Если он ограничен областью видимости, то когнитивная нагрузка вполне вероятно будет меньше чем при его отсутствии.
Алиасы значительно упрощают рефакторинг и позволяют избежать багов. Обобщенный код без алиасов я даже представлять не хочу.
Если говорить про границы API то конечно лучше иметь сигнатуры со стандартными именами. Но в реализациях функций и классов не вижу проблемы при грамотно выбранных именах.
Проблема может возникнуть во время переходы от базы до менее очевидных вопросов. Оценить корректность ответа человек без знаний не всегда может, а LLM обычно не указывает насколько она уверена в ответе.
OnlyOffice довольно неплохо принимается сообществом, совместимость с MS одна из лучших. Сам использую его уже давно, даже когда у меня ещё были ПК с Windows.
Специальной она является на уровне ОС и возможно MMU (Memory Management Unit). В обычных архитектурах есть регистр через который традиционно передается указатель на стек, и инструкции (push , pop) которые взаимодействуют с этим регистром. Но сам стек может распологаться в произвольном месте, определяемом ОС. С точки зрения машинного кода программы обращение к стеку зачастую эквивалентно обращению к какому-то адресу (за исключением спец инстркуций). C и С++ как языки не знают о стеке и куче, это детали реализации. В C++ есть storage duration, и переменные с automatic storage duration обычно хранятся на стеке, но они могут храниться напрямую в регистрах или вообще не быть материализованы. К куче доступ так или иначе производится через вызов системной функции, (обычно malloc) который может быть внутри operator new, std::allocator и т.п. Не уверен что имел ввиду автор под "автоматически управляется процессором", но за исключением нескольких инструкций для процессора стек - обычная область памяти, состоянием стека управляет программа, а выделением и контролем - ОС.
Инструменты делают ровно то, что в них заложил ремесленник ими управляющий. Результат работы инструментов предсказуем и повторяем. Задача "как сделать" всегда решалась человеком.
Модальность - ключевая особенность [нео]вима, которая позволяет эргономично работать без мышки, без извращений с Ctrl+Shift. Есть новое поколение модальных редакторов которые ещё не обзавелись плагинами, но уже имеют аудиторию показывает что эргономичность важна, а расширяемость ценой возможностей по умолчанию подходит не всем.
Большинство эффективных многопоточных структур сложны для понимания без участия ИИ. Для обеспечения производительности и корректности нужно довольно строго и точно понимать все переходы между состояниями, а со строгостью у LLM как раз проблемы насколько я вижу из отзывов. Довольно необычно если Ваш опыт говорит о полезности ИИ в данной задаче.
Интринсиксы намного удобнее в использовании чем ассемблер. И компилятор генерирует очень хороший код. std::experimental::simd просто пушка, очень жду C++26.
Короткий ответ: может. Клавиши обычно кофигурируются в виде матрицы, каждая строка и столбец матрицы требуют одного контакта микроконтроллера. В вашем случае микроконтроллере нужно минимум 8+5 цифровых пинов если делать обычную матрицу. Если не ошибаюсь, ZMK поддерживает виртуальные матрицы. Делается реальная матрциа близкая к квадратной, чтобы максимально эффективно использовать контакты, и она преобразуется в более удобную. Детали я не знаю, так как не занимался этим, но для 13 пинов 6x7 матрица даст 42 кнопок, а 5x8 даст 40. Каждая плата (которых может быть больше 2) конфигурируется отдельно, и теоретически может вообще содеражать независимые матрицы свитчей с независимыми слоями.
Расскажите про несуществование нуля частицам без массы)
Ну вроде как получить уб как раз не тривиально потому что сложно получить мутабельную ссылку пересекающуюся с другой ссылкой.
auto
также скрывает тип, но повсеместен в современном C++. Хотя может вы из секты людей, которые всегда явно пишет тип переменных?Хороший алиас позволяет в первую очередь меньше читать. Если он ограничен областью видимости, то когнитивная нагрузка вполне вероятно будет меньше чем при его отсутствии.
Алиасы значительно упрощают рефакторинг и позволяют избежать багов. Обобщенный код без алиасов я даже представлять не хочу.
Если говорить про границы API то конечно лучше иметь сигнатуры со стандартными именами. Но в реализациях функций и классов не вижу проблемы при грамотно выбранных именах.
Чем функция не обьект с оператором вызова?
Это деталь реализации, сильно зависящая от языка.
Проблема может возникнуть во время переходы от базы до менее очевидных вопросов. Оценить корректность ответа человек без знаний не всегда может, а LLM обычно не указывает насколько она уверена в ответе.
Второму чат ещё и подскажет рецепт чеснока в масле)
nice nano разрабатывался как пин-совместимый с pro micro, если в конфиге укзан pro micro, ничего менять не надо.
Основная причина старой версии lua - это использование LuaJIT. Что также делает lua прекрасным выбором для плагинов.
OnlyOffice довольно неплохо принимается сообществом, совместимость с MS одна из лучших. Сам использую его уже давно, даже когда у меня ещё были ПК с Windows.
Специальной она является на уровне ОС и возможно MMU (Memory Management Unit).
В обычных архитектурах есть регистр через который традиционно передается указатель на стек, и инструкции (
push
,pop
) которые взаимодействуют с этим регистром. Но сам стек может распологаться в произвольном месте, определяемом ОС.С точки зрения машинного кода программы обращение к стеку зачастую эквивалентно обращению к какому-то адресу (за исключением спец инстркуций).
C и С++ как языки не знают о стеке и куче, это детали реализации. В C++ есть storage duration, и переменные с automatic storage duration обычно хранятся на стеке, но они могут храниться напрямую в регистрах или вообще не быть материализованы. К куче доступ так или иначе производится через вызов системной функции, (обычно malloc) который может быть внутри
operator new
,std::allocator
и т.п.Не уверен что имел ввиду автор под "автоматически управляется процессором", но за исключением нескольких инструкций для процессора стек - обычная область памяти, состоянием стека управляет программа, а выделением и контролем - ОС.
Уже давно есть DAP ( debug adapter protocol) через который можно сделать удобный интерфейс для gdb и lldb. Используется в VSCode и прочих редакторах.
Успешно использую данный функционал для ежедневной отладки.
Инструменты делают ровно то, что в них заложил ремесленник ими управляющий. Результат работы инструментов предсказуем и повторяем. Задача "как сделать" всегда решалась человеком.
Довольно сильная разница если сравнивать с LLM.
Из поста на реддите - Kailh PG1316
Очень интересно было бы послушать про placement new, launder и лайфтаймы с точки зрения стандарта.
Казалось бы простая вещь: вызвать конструктор по адресу, но повсюду ждёт UB.
БПФ же как раз определен через рекурсию, реализовать его рекурсивно вовсе не сложно.
Я бы даже сказал что через рекурсию он понятнее, но это обсуждаемо.
Модальность - ключевая особенность [нео]вима, которая позволяет эргономично работать без мышки, без извращений с Ctrl+Shift. Есть новое поколение модальных редакторов которые ещё не обзавелись плагинами, но уже имеют аудиторию показывает что эргономичность важна, а расширяемость ценой возможностей по умолчанию подходит не всем.
LLM помог Вам в написании такой структуры?
Большинство эффективных многопоточных структур сложны для понимания без участия ИИ. Для обеспечения производительности и корректности нужно довольно строго и точно понимать все переходы между состояниями, а со строгостью у LLM как раз проблемы насколько я вижу из отзывов. Довольно необычно если Ваш опыт говорит о полезности ИИ в данной задаче.
Интринсиксы намного удобнее в использовании чем ассемблер. И компилятор генерирует очень хороший код. std::experimental::simd просто пушка, очень жду C++26.
Стоицизм
Короткий ответ: может.
Клавиши обычно кофигурируются в виде матрицы, каждая строка и столбец матрицы требуют одного контакта микроконтроллера. В вашем случае микроконтроллере нужно минимум 8+5 цифровых пинов если делать обычную матрицу.
Если не ошибаюсь, ZMK поддерживает виртуальные матрицы. Делается реальная матрциа близкая к квадратной, чтобы максимально эффективно использовать контакты, и она преобразуется в более удобную. Детали я не знаю, так как не занимался этим, но для 13 пинов 6x7 матрица даст 42 кнопок, а 5x8 даст 40.
Каждая плата (которых может быть больше 2) конфигурируется отдельно, и теоретически может вообще содеражать независимые матрицы свитчей с независимыми слоями.