English version

RSS

С++ Arena

Автор: Александр Шаргин
Источник: RSDN Magazine #2
Аннотация: Делегаты в CLR удобны, типобезопасны и эффективны. Последнее время на форумах RSDN часто поднимается вопрос о том, можно ли реализовать делегаты с аналогичными свойствами, оставаясь в рамках "чистого" C++. Оказывается, это вполне возможно. В этой статье я покажу, как это сделать.

Ключевые слова: delegates
Автор: Андрей Мартынов
Источник: RSDN Magazine #5-2003
Аннотация: В статье рассмотрен декларативный подход к решению задачи чтения/записи XML-файлов из программ на классическом C++. Метод основан на построении специальной структуры статических данных - метаданных типов.

Ключевые слова: xml
Автор: Сабельников Андрей Николаевич
Источник: RSDN Magazine #1-2006
Аннотация: “Вопросы сохранения данных из объектов, так или иначе, возникают у каждого разработчика”. Именно с этой фразы я начал первую статью посвещённую сериализации, и с этой фразы мне бы хотелось продолжить описание идеи использования карт для организации сериализации. Если вы пишете на С++, то ваша программа скорее всего состоит из объектов классов, которые в своей совокупности образуют некую систему данных и кода, работающего с этими данныим. И практически всегда вы хотите в какой-то момент сохранить в том или ином виде эти данные – будь то результат многолетних вычислений программы или просто текущее состояние каких-то компонентов системы. А потом снова загрузить эти данные назад, в вашу программу, как будто бы и ничего не происходило. Или искажем отправить эти данные по сети, другой программе. И при этом, очень нехочетатся трартить много времени на программирование сохранения/загрузки, упаковку стрктур в каки-то изобретённые сегодня утром форматы, отладку всего этого, модификацию в связи с появлением в структурах данных новых полей, документирование, и прочую головную боль. Подход, описаный ниже, я надеюсь, поможет многим сэкономить время и облегчить жизнь.

Ключевые слова: Serialization
Автор: Владислав Юдин
Источник: RSDN Magazine #1-2005
Аннотация: Цель данной статьи - показать, что метаданные это мощный механизм, требующий выделения в отдельный компонент, который хотелось бы видеть в стандартной библиотеке С++.

Ключевые слова: metadata
Автор: Александр Шаргин
Аннотация: В языке C++ есть восьмеричные, десятичные и шестнадцатеричные константы. А двоичных - нет. Тем не менее, при помощи препроцессора можно соорудить макрос, который позволит нам смоделировать такие константы. Основная идея - преобразовывать восьмеричную константу в двоичную, выделяя из неё отдельные ци...

Ключевые слова:
Автор: Клюев Александр
Источник: RSDN Magazine #2-2003
Аннотация: Мультиметоды - виртуальные функции, принадлежащие сразу нескольким классам. В статье разбирается суть мультиметодов, их особенности, а также возможная реализация мультиметодов на C++.

Ключевые слова: Мультиметоды, multimethods
Автор: remark
Аннотация: [пост получился достаточно длинный, поэтому сразу скажу о бонусе — это простой и эффективный алгоритм очереди на основе буфера фиксированного размера — нетерпеливые могут сразу перемещаться к концу поста <img border='0' width='15' height='15' src='../Forum/images/smile.gif' /> ]<br /> <br /> Последние дни на RSDN шла своего рода распределенная игра по написанию lock-free контейн...

Ключевые слова:
Автор: Алексндр Клюев
Аннотация: Демонстрационный проект - events.zip

Ключевые слова:
Автор: Андрей Солодовников
Источник: RSDN Magazine #4-2004
Аннотация: В данной статье описывается способ реализации отложенной загрузки динамических библиотек на С++ без использования механизма delayload, приведена реализация библиотеки отложенной загрузки и пример ее использования.

Ключевые слова: DelayLoad
Автор: Михаил Чащин
Источник: RSDN Magazine #1
Аннотация: В данной статье мы рассмотрим обобщённую реализацию сборки мусора на С++. Будут обсуждены два конкретных алгоритма сборки мусора – “Mark-Sweep” и “Mark-Compact”, и их реализация. Мы также рассмотрим ограничения, которые накладываются на приложения при использовании сборки мусора, и изменения в компи...

Ключевые слова:
Автор: Денис Майдыковский
Аннотация: В этой статье автор рассматривает различные способы реализации свойств в стиле Visual Basic на C++. Некоторые способы специфичны для Visual C++, тогда как другие годятся для применения в любой программе, написанной на языке C++.

Ключевые слова:
Автор: Павел Кузнецов
Источник: RSDN Magazine #2
Аннотация: Время от времени при работе с шаблонами возникает необходимость специализировать шаблон класса по одному из аргументов. В качестве примера можно рассмотреть шаблон классов матриц, параметризованный типом элемента и размерами матрицы. Однако некоторые компиляторы не поддерживают частичную специализацию, и, как следствие, «не понимают» подобные конструкции. Желание получить эквивалентную функциональность при работе с такими компиляторами приводит к технике, описанной ниже.

Ключевые слова:
Автор: Проскурня М.О.
Аннотация: В некоторых языках программирования существует конструкция вида try-finally, в которой секция finally выполнялась обязательно, как при возникновении исключений, так и при нормальном ходе выполнения программы. Поскольку в языке C++ такой конструкции явно не присутствует, мы можем попытаться описать её самостоятельно, прибегая к помощи макропрепроцессора.

Ключевые слова: try-finally
Авторы: Вьюков Дмитрий Сергеевич
Тепляков Сергей Владимирович
Источник: RSDN Magazine #4-2009
Аннотация: В данной статье рассмотрены несколько решений, позволяющих ослабить или практически полностью избавиться от недостатков перечислений (enumerations) языка программирования С++. Представленные решения, отличаются сложностью реализации и функциональностью, и могут оказаться полезными в арсенале каждого современного разработчика.

Ключевые слова: С++; перечисления; кодогенерация; метапрограммирование; типобезопасность;
Автор: Don Clugston
Перевод: Денис Буличенко
Источник: Member Function Pointers and the Fastest Possible C++ Delegates
Материал предоставил: RSDN Magazine #6-2004
Аннотация: В данной статье предоставлен исчерпывающий материал по указателям на функции-члены, а также приведена реализация делегатов, которые занимают всего две операции на ассемблере.

Ключевые слова: Делегаты, указатели, функции-члены