Как два байта переслать: контрибьютим в KPHP
KPHP — компилятор для PHP. Он конвертирует PHP код в код на C++, компилируя который, ускоряет производительность в десятки раз. Это open-source проект, созданный ВКонтакте. Благодаря ему собирается огромный монолит ВКонтакте на 9 миллионов строк PHP кода в обычный бинарник, запуская который вы локально поднимаете полноценный ВКонтакте.
Читать статью
KPHP — компилятор для PHP. Он конвертирует PHP код в код на C++, компилируя который, ускоряет производительность в десятки раз. Это open-source проект, созданный ВКонтакте. Благодаря ему собирается огромный монолит ВКонтакте на 9 миллионов строк PHP кода в обычный бинарник, запуская который вы локально поднимаете полноценный ВКонтакте.
Читать статью
Генерируем пароли с помощью C++
Эта программа создает константы для допустимых символов в пароле и для длины пароля. Затем она инициализирует генератор случайных чисел и генерирует пять случайных паролей.
Каждый пароль формируется путем выбора случайного символа из всего набора символов. Этот процесс повторяется до достижения желаемой длины пароля.
#код
Эта программа создает константы для допустимых символов в пароле и для длины пароля. Затем она инициализирует генератор случайных чисел и генерирует пять случайных паролей.
Каждый пароль формируется путем выбора случайного символа из всего набора символов. Этот процесс повторяется до достижения желаемой длины пароля.
#код
Очередной #дайджест по C++:
✍️ Joystick для ПК на базе Arduino
Автор делает еще один манипулятор для ПК,
✍️ Алгоритм быстрого поиска при помощи хэширования
В статье представлен алгоритм оптимизации хранения данных для быстрого поиска (на примере контейнера map).
✍️ Новый дом для Фараона (Pharaoh)
Любопытная статья про геймдизайн и не только.
✍️ Пишем виртуальную машину (интерпретатор) простого байткода + JIT компиляция
Как написать виртуальную машину С-подобного языка, которая сможет делать JIT-компиляцию байткода с помощью библиотеки libjit.
✍️ Монотонная кубическая интерполяция
В данной статье разобран алгоритм монотонной кубической интерполяции, предложенный Фритчем и Карлосоном в работе Monotone Piecewise Cubic Interpolation (1980).
✍️ Безопасность типов и ресурсов в современном C++
✍️ [sobjectizer] Несколько слов о релизе версии 5.8.0
SObjectizer — это относительно небольшой C++17 фреймворк, который позволяет использовать в С++ программах такие подходы, как Actor Model, Publish-Subscribe и Communicating Sequential Processes (CSP), что упрощает разработку сложных многопоточных приложений.
✍️ Joystick для ПК на базе Arduino
Автор делает еще один манипулятор для ПК,
✍️ Алгоритм быстрого поиска при помощи хэширования
В статье представлен алгоритм оптимизации хранения данных для быстрого поиска (на примере контейнера map).
✍️ Новый дом для Фараона (Pharaoh)
Любопытная статья про геймдизайн и не только.
✍️ Пишем виртуальную машину (интерпретатор) простого байткода + JIT компиляция
Как написать виртуальную машину С-подобного языка, которая сможет делать JIT-компиляцию байткода с помощью библиотеки libjit.
✍️ Монотонная кубическая интерполяция
В данной статье разобран алгоритм монотонной кубической интерполяции, предложенный Фритчем и Карлосоном в работе Monotone Piecewise Cubic Interpolation (1980).
✍️ Безопасность типов и ресурсов в современном C++
✍️ [sobjectizer] Несколько слов о релизе версии 5.8.0
SObjectizer — это относительно небольшой C++17 фреймворк, который позволяет использовать в С++ программах такие подходы, как Actor Model, Publish-Subscribe и Communicating Sequential Processes (CSP), что упрощает разработку сложных многопоточных приложений.
Какой ноутбук считаете наиболее подходящим для программирования и почему?
#интерактив
#интерактив
Проверить, найден ли элемент в массиве С++
В С++ вы должны использовать std::find и проверить, указывает ли результирующий указатель на конец диапазона.
#вопросы_с_собеседований
В С++ вы должны использовать std::find и проверить, указывает ли результирующий указатель на конец диапазона.
#вопросы_с_собеседований
Разница в быстроте у постфиксных и префиксных инкрементных операторов
В постфиксных операторах производится дополнительная операция сохранения предыдущего состояния объекта, а затем только увеличение на 1, а в префиксном операторе после инкрементирования объекта, сразу возвращается ссылка объект. Префиксные операторы быстрее. Сигнатура их отличается фиктивным параметром int у постфиксного оператора.
#код
В постфиксных операторах производится дополнительная операция сохранения предыдущего состояния объекта, а затем только увеличение на 1, а в префиксном операторе после инкрементирования объекта, сразу возвращается ссылка объект. Префиксные операторы быстрее. Сигнатура их отличается фиктивным параметром int у постфиксного оператора.
#код
Как вывести форматированный текст на экран в C++
Рано или поздно у каждого программиста появляется желание вывести форматированный текст на экран. Немудрено, у пляшущих на экране буковок есть свой неповторимый шарм, а факт форматированности добавляет им еще и загадочности — мы можем даже не догадываться, что в точности будет напечатано. Но как сделать это оптимально и кроссплатформенно?
Читать статью
Рано или поздно у каждого программиста появляется желание вывести форматированный текст на экран. Немудрено, у пляшущих на экране буковок есть свой неповторимый шарм, а факт форматированности добавляет им еще и загадочности — мы можем даже не догадываться, что в точности будет напечатано. Но как сделать это оптимально и кроссплатформенно?
Читать статью
Сколько всего курсов по программированию вы купили?
#интерактив
#интерактив
memmove
Функция memmove используется для копирования блока памяти из одного места в другое. Она объявлена в заголовочном файле . Она принимает аргументы типа void * и const void *, что позволяет ей работать с любыми типами данных. Она просто копирует указанное количество байтов из исходного буфера в целевой.
memmove может обрабатывать перекрывающиеся буферы. В отличие от memcpy, которая просто копирует данные из одного места в другое, memmove может безопасно перемещать данные, даже если исходный и целевой буферы перекрываются.
Функция memmove может быть полезна для удаления элементов из массива. Например, если вы хотите удалить элемент из массива и сдвинуть оставшиеся элементы влево, вы можете использовать memmove для перемещения данных в массиве.
#код
Функция memmove используется для копирования блока памяти из одного места в другое. Она объявлена в заголовочном файле . Она принимает аргументы типа void * и const void *, что позволяет ей работать с любыми типами данных. Она просто копирует указанное количество байтов из исходного буфера в целевой.
memmove может обрабатывать перекрывающиеся буферы. В отличие от memcpy, которая просто копирует данные из одного места в другое, memmove может безопасно перемещать данные, даже если исходный и целевой буферы перекрываются.
Функция memmove может быть полезна для удаления элементов из массива. Например, если вы хотите удалить элемент из массива и сдвинуть оставшиеся элементы влево, вы можете использовать memmove для перемещения данных в массиве.
#код
Очередной #дайджест по C++:
✍️ C++23: статический оператор () и статический оператор []
В этой статье рассмотрели две новые функции C++23. Теперь язык позволяет оператору вызова (operator()) и оператору подписки (operator[]) быть статическими. Давайте перейдем к деталям.
✍️ Nubbing-списки в (consteval) C++
Как современный C++ справляется с, казалось бы, простой задачей: удалением повторяющихся элементов списка?
✍️ Введение в программирование на C++ для инженеров, обзор книги
✍️ CppCast: Безопасность, защищенность и современный C++, с Бьярном Страуструпом
Бьерн Страуструп присоединяется к Филу и Тимуру. Бьерн рассказывает о безопасности в C++ через профили, а также модули и концепции — и предвидит, что еще будет дальше.
✍️ Без CRT в 2023 году: советы и рекомендации
Любопытная статья от опытного программиста.
✍️ C++23: статический оператор () и статический оператор []
В этой статье рассмотрели две новые функции C++23. Теперь язык позволяет оператору вызова (operator()) и оператору подписки (operator[]) быть статическими. Давайте перейдем к деталям.
✍️ Nubbing-списки в (consteval) C++
Как современный C++ справляется с, казалось бы, простой задачей: удалением повторяющихся элементов списка?
✍️ Введение в программирование на C++ для инженеров, обзор книги
✍️ CppCast: Безопасность, защищенность и современный C++, с Бьярном Страуструпом
Бьерн Страуструп присоединяется к Филу и Тимуру. Бьерн рассказывает о безопасности в C++ через профили, а также модули и концепции — и предвидит, что еще будет дальше.
✍️ Без CRT в 2023 году: советы и рекомендации
Любопытная статья от опытного программиста.
Курс «Алгоритмы и структуры данных» для разработчиков, которые хотят подготовиться к собеседованию в технологическую компанию или продвинуться по карьере.
🔹Подробная программа – https://proglib.io/w/acc674d9
▪️ бессрочный доступ
▪️ 47 видеолекций
▪️ 150 практических заданий
▪️ бессрочная поддержка в чате студентов
▪️развернутая обратная связь по всем домашним заданиям
Стоимость со скидкой 33% всего 24 190 рублей 🫶 Актуально до 31 июля.
НАЧАТЬ С ДЕМО-ДОСТУПА
Приходите, оставляйте заявку на пробную версию и знакомьтесь с самым харизматичным спикером – Степаном Мацкевичем. Он определенно получил приз зрительских симпатий от наших студентов🥰
🔹Подробная программа – https://proglib.io/w/acc674d9
▪️ бессрочный доступ
▪️ 47 видеолекций
▪️ 150 практических заданий
▪️ бессрочная поддержка в чате студентов
▪️развернутая обратная связь по всем домашним заданиям
Стоимость со скидкой 33% всего 24 190 рублей 🫶 Актуально до 31 июля.
НАЧАТЬ С ДЕМО-ДОСТУПА
Приходите, оставляйте заявку на пробную версию и знакомьтесь с самым харизматичным спикером – Степаном Мацкевичем. Он определенно получил приз зрительских симпатий от наших студентов🥰
Как вывести в консоль числа от 1 до 100 без рекурсии и циклов?
В этой программе используется концепция метапрограммирования шаблонов.
#код
В этой программе используется концепция метапрограммирования шаблонов.
#код
Различие локальной переменной и поля класса с одинаковым именем
Указатель this может быть полезен в случае, когда локальная переменная в методе имеет то же самое имя, что и поле объекта:
void set(int x) { this->x = x; }
Здесь в методе set мы присваиваем полю класса x значение локальной переменной this. Чтобы различить поле класса x и локальную переменную с тем же именем, мы используем запись this->x при обращении к полю класса.
Указатель this может быть полезен в случае, когда локальная переменная в методе имеет то же самое имя, что и поле объекта:
void set(int x) { this->x = x; }
Здесь в методе set мы присваиваем полю класса x значение локальной переменной this. Чтобы различить поле класса x и локальную переменную с тем же именем, мы используем запись this->x при обращении к полю класса.
Кто еще не подписан на наш главный канал — очень рекомендуем!
В «Библиотеке программиста» вас ждут фундаментальные IT-темы, Git, рынок труда, главные новости и, конечно же, мемы😎
Вот вам топ недавних постов:
🔍про коммиты в ветках Git
🔍новость о создании сверхразумного ИИ
🔍подборка инфографик на фундаментальные темы
🔍дайджест нейросетей для разработки
👉Подписаться👈
В «Библиотеке программиста» вас ждут фундаментальные IT-темы, Git, рынок труда, главные новости и, конечно же, мемы😎
Вот вам топ недавних постов:
🔍про коммиты в ветках Git
🔍новость о создании сверхразумного ИИ
🔍подборка инфографик на фундаментальные темы
🔍дайджест нейросетей для разработки
👉Подписаться👈
Что выведет код?
Anonymous Quiz
13%
0
45%
1
11%
2
4%
FalseFalse
6%
FalseTrue
2%
TrueFalse
5%
TrueTrue
14%
Error
📖 ТОП-10 книг, без которых не обойтись ни одному программисту
Мы подготовили для вас подборку из 10 книг, без которых не обойтись ни одному профессионалу в IT. Эти книги станут для вас настольными на долгие годы.
🔗 Основной сайт
🔗 Зеркало
Мы подготовили для вас подборку из 10 книг, без которых не обойтись ни одному профессионалу в IT. Эти книги станут для вас настольными на долгие годы.
🔗 Основной сайт
🔗 Зеркало