26.03.2006Классы: копирование и присваивание. Часть 3.
Продолжим начатое в статьях "Классы: копирование и присваивание. Часть 1 и Часть 2" подробное рассмотрение проблемы копирования и присваивания в классах. В этой части мы рассмотрим разницу между копированием и присваиванием, посмотрим, когда выполняется копирование, и обсудим положение конструктора копий и операции присваивания в классах. Автор: Сергей Малышев (aka Михалыч) <
24.03.2006Программирование на управляемом C++
В каждой новой версии Visual C++ компания Microsoft расширяет возможности языка во многих направлениях. Visual C++.NET не является исключением, поддерживая множество новых возможностей, для использования которых введены новые ключевые слова и атрибуты. В частности, появилась поддержка разработки кода на управляемом C++ для платформы .NET
<
06.02.2006Исключения в Borland С++ Builder 6.0
Введение. Я не спроста уточнил, что все нижеизложенное относится в первую очередь к шестой версии среды, поскольку я натолкнулся на эти проблемы именно в ней, и не проверял прочие версии. Итак, краткий инструктаж по применению исключений, согласно книгам, статьям и официальным исходникам. Конструкция исключений имеет следующий вид. Автор: Cyberid <
21.12.2005Работа с процессами в С/С++. Основные приемы
Данная статья рассказывает о работе с процессами, модулями, кучами и потоками при помощи билиотеки TOOLHELP. Работа с процессами - основа, без которой заниматься системным программированием так же бессмысленно, как без знания структуры PE-файлов или организации памяти. Поэтому я поднимаю эту тему вновь и расскажу о работе с процессами посредством функций TOOLHELP. Автор: Тимур Хабибуллин aka Kergan <
13.11.2005Межплатформенный класс cBigNumber для арифметики над целыми числами неограниченной разрядности
Класс cBigNumber реализует все штатные целочисленные операции языка С++ для чисел неограниченной разрядности. Дополнительные функции - возведение в степень по модулю, квадратный корень и проверка на простоту по методу Миллера. Класс обладает встроенными средствами контроля и компенсации ошибок, оптимизирован для чисел размером от 500 до 20,000 двоичных разрядов. Автор: Рауль Нурович Шакиров <
25.09.2005С++ Builder: как ускорить компиляцию с помощью предкомпилированных заголовков
Вместо вступления сразу приведу пример. Полная сборка (build) проекта, содержащего около 170 cpp-модулей, при использовании предкомпилированных заголовков происходит за 811 секунд, при этом число обработанных компилятором строк составляет 1,808,780. При компиляции того же проекта без использования предкомпилированных заголовков, время сборки составляет 2399 секунд, а число строк, обработанных компилятором - 45,261,820. Впечатляет, не так ли? Плата за это ускорение, в принципе не велика - предкомпилированный образ, размер которого около 40 Мб. Автор: Серебров Борис <
06.08.2005Внутри менеджера памяти. Выбор, подходы и реализация методов динамического выделения памяти
Ниже рассматриваются методики управления памятью, доступные программистам под Linux™. Несмотря на то, то примеры приведены на языке C, все это может применяться и в других языках. В статье рассказывается, как работает механизм управления памятью, и показывается, как вручную управлять памятью, как работать в режиме полу-ручного управления на основе управления референтными счетчиками и динамической. Автор: Jonathan Bartlett <