Метка «c++» - 68

Практически в каждом проекте, встает задача персистентного чтения/записи конфигурации. Не секрет что существует большое количество уже готовых библиотек для решения этой задачи. Некоторые из-них просты, некоторые чуть сложнее в использовании.
Если же проект разрабатывается с использованием Qt, думаю нет смысла линковать дополнительную библиотеку, так как в Qt есть все средства для создания очень простого, гибкого и кроссплатформенного решения.
Как раз о таком решении хочу расказать вам в этом посте.
Читать полностью »

Я уже пару раз писал про lilypond, а теперь я купил midi-клавиатуру.

Многие нотные редакторы, в том числе Finale и Sibelius, имеют возможность набора нот с midi-клавиатуры аж двумя способами: или можно сыграть что-нибудь под метроном, и это будет немедленно записано нотами, либо можно вводить с оной только ноты, а ритм и всё прочее вводится обычным способом.

Я решил, что аналогичная возможность не помешала бы и для предпочитаемого мною lilypond'а. Так как возможность записать midi-файл, а потом преобразовать его с помощью midi2ly меня не устраивает — слишком много информации именно нотонаборного толка в midi-файле отражены быть не могут (мы об этом уже дискутировали) — я решил написать программу для того, чтобы нажатые клавиши и аккорды немедленно преобразовывались в необходимый формат.
Читать полностью »

Приветствую всех игроделов и им сочуствующих. В этой статье я хочу рассказать о таком фреймворке, как SFML, и попытаться написать на нем простейшую игру (в нашем случае это будет клон легендарного Pong).

Создаем игру на SFMLv
Читать полностью »

Haskell один из быстроразвивающихся функциональных языков программирования. Возможно это один из тех функциональных языков которому вы хотите отдать предпочтение практического использования в ближайшее время.

Этот топик для тех, кто хотел бы опробовать Haskell на деле, но имеет горы полезного C и C++ кода с которым требуется считаться.Читать полностью »

Приветствую.

Уж не знаю, как так вышло, но игрался я на досуге с лямбда-выражениями в С++11 (о которых, к слову, я уже писал статью, снискавшую пару лет назад на удивление достаточно неплохую популярность), и под наркотическим воздействием впечатлением от языка Haskell начал разбираться с такими понятиями, как частичное применение и каррирование в контексте языка С++. И для начала, пожалуй, неплохо бы нам определиться с этими терминами.

Читать полностью »

image
Здесь на Хабре я уже писал о своем маленьком проекте QuickTextTranslator и на этот раз расскажу о следующем шаге его развития — QuickTextComplex.

Скачать программу

Напомню, что проект является открытым и опубликован под лицензией GPLv3. Это значит, что любой желающий может скачать исходные коды, изменять и распространять эту программу в различных целях, соблюдая при этом требования самой лицензии.
Скачать QuickTextComplex

QuickTextComplex

Это комплекс для работы с иностранными языками, включающий в себя следующие программы:

  • QuickTextTranslator v0.3
  • QuickTextLearn v0.1
  • QuickTextTranslatorConsole v0.1

Под катом описание каждой программы из списка.
Читать полностью »

Максимально точное измерение кода
В моей статье полугодичной давности о длинной арифметике есть замеры скорости (throughput в тактах) очень коротких фрагментов кода — всего по несколько инструкций. Методика измерения была кривовата, но давала правдоподобные результаты. Потом выяснилось, что результаты таки неверные — поверхностный подход всегда сказывается.

В этом посте я опишу надежный метод «нанобенчмаркинга» с минимальной погрешностью и без подключения специальных библиотек и драйверов, к которому в итоге пришел. Применимость: сравнение однопоточного потенциала процессоров, просто интерес.Читать полностью »

Распаковка Perl2Exe

Одним из наиболее часто используемых продуктов для создания standalone-приложений из perl-скриптов и организации какой-никакой защиты является продукт IndigoStar Perl2Exe. Периодически возникают ситуации, когда исходный код скрипта потерян, а на руках имеется только полученный с помощью этой программы exe-файл, но всенепременно хочется добраться до сорцев. Разберемся, как это сделать.
Читать полностью »

Введение

Как-то находясь в поиске как мне прикрутить конфигурационные ini файлы или json к моему сервачку перебирал варианты, но почему-то они были неудобны или слишком простые, или велосипеды. И хоть я люблю xml конфигурирование, но порою это чрезмерно огромные файлы и неудобно для небольшого количества настроек писать много текста. Раз задал другу вопрос по этой теме, он то мне и подкинул библиотеку. Напоминает она json в смеси с yaml.

Конфигурационные файлы. Библиотека libconfig

Библиотека имеет два интерфейса: функциональный и объектный. Они очень похожи, так как объектный использует внутри функциональную реализацию, но имеют некоторые различия, рассмотренные в данном посте.

Читать полностью »

Я думаю, что многие разработчики знают, что цикл foreach в языке C# не так прост, каким он кажется на первый взгляд. Для начала давайте ответим на вопрос: «А что нужно, чтобы конструкция foreach успешно компилировалась?». Интуитивным ответом на этот вопрос кажется что-то типа: «Реализация классом интерфейса IEnumerable или IEnumerable<T>.». Однако, это не так, ну, или не совсем так.

Полный ответ на этот вопрос такой: «Для того чтобы конструкция foreach успешно компилировалась необходимо, чтобы у объекта был метод GetEnumerator(), который вернет объект с методом MoveNext() и свойством Current, а если такого метода нет, то тогда будем искать интерфейсы IEnumerable и IEnumerable<T>».

Причин у такого «утиного» поведения две.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js