указатели

  • ХабрахабрФото [Перевод] Это слишком опасно для C++

    [Перевод] Это слишком опасно для C++

    Некоторые паттерны стало возможно использовать на практике только благодаря безопасности Rust по памяти, а на C++ они слишком опасны. В статье приведён один такой пример. Работая над внутренней библиотекой, написанной на Rust, я создал тип ошибок для парсера, у которых должна быть возможность сделать Clone без дублирования внутренних данных. В Rust для этого требуется указатель с подсчётом ссылок (reference-counted pointer)…

    Читать далее »
  • ХабрахабрФото Следует ли проверять указатель на NULL перед вызовом функции free?

    Следует ли проверять указатель на NULL перед вызовом функции free?

    Короткий ответ: нет. Тем не менее, раз про это вновь и вновь спрашивают на Reddit, Stack Overflow и других сайтах, пришло время подробно разобрать эту тему. Оказывается, есть много интересного, о чём можно порассуждать. Функция free Функция free объявлена в заголовочном файле <stdlib.h> следующим образом: void free( void *ptr ); Функция освобождает буфер памяти, выделенный ранее с помощью функций malloc,…

    Читать далее »
  • ХабрахабрФото Программирование для Palm OS: что же там самое сложное?

    Программирование для Palm OS: что же там самое сложное?

    Приветствую всех! Думаю, многие из нас хоть раз слышали о КПК на базе Palm OS. А некоторым даже довелось иметь такой в использовании. И так уж вышло, что пальмы стали одной из самых противоречивых платформ в плане разработки под них, в чём легко можно убедиться, почитав комментарии к любой статье про программирование для этих устройств. Итак, в сегодняшней статье поговорим…

    Читать далее »
  • ХабрахабрФото [Перевод] От стеков к деревьям — новая модель псевдонимов в Rust

    [Перевод] От стеков к деревьям — новая модель псевдонимов в Rust

    С прошлой осени Нивен проходит стажировку, разрабатывая новую модель псевдонимов для Rust: древовидные заимствования (tree borrows). Секундочку, уже слышу, как вы вопрошаете: а разве в Rust ещё нет своей псевдонимной модели? Разве вы, автор, не рассказываете повсюду о «стековых заимствованиях»? Действительно, так и есть, но стековые заимствования — всего лишь один из возможных вариантов реализации для модели псевдонимов, и с этим вариантом есть…

    Читать далее »
  • ХабрахабрФото [Перевод] Как устроено распределение памяти

    [Перевод] Как устроено распределение памяти

    Один из общих для всех программ на вашем компьютере аспектов — это потребность в памяти. Прежде чем запуститься, программы должны быть загружены с жёсткого диска в память. При работе программ подавляющее большинство их действий заключается в загрузке значений из памяти, выполнении вычислений с ними, а затем сохранении результата обратно в память. В этом посте я познакомлю вас с основами распределения…

    Читать далее »
  • ХабрахабрФото Знакомство с указателями в Паскале

    Знакомство с указателями в Паскале

    Всем читателям habr.com, привет! Мы студенты Технического ВУЗа- Мария и Екатерина, и хотим рассказать о своем опыте работы с указателями на языке программирования Паскаль. Знакомство с указателями произошло еще на первом курсе, когда нам читали предмет по языку программирования Паскаль. Данная тема нас заинтересовала, поэтому мы изучили множество статей и учебной литературы. Отметим, не нашли ни одной, в которой довольно…

    Читать далее »
  • ХабрахабрФото [Перевод] Связные списки, трюки с указателями и хороший вкус

    [Перевод] Связные списки, трюки с указателями и хороший вкус

    В интервью на TED 2016 (14:10) Линус Торвальдс рассказывает о хорошем стиле программирования. В качестве примера приводит два варианта удаления элементов из односвязных списков (см. ниже). В первом варианте есть специальный случай, а в другом — нет. Линус предпочитает второй. Его комментарий: [...] Не надо размышлять, почему здесь нет оператора if. Важно посмотреть на задачу с другой стороны и переписать её…

    Читать далее »
  • ХабрахабрФото Указатели на методы классов в C++

    Указатели на методы классов в C++

    Привет, интернет. Решил написать статью об указателях на методы классов. Недавно мне пришлось столкнуться с тем, как они работают изнутри, когда писал некоторые вещи ориентированные под компилятор. Эти указатели работают не совсем как обычные указатели, не имеют возможности быть приведенными в void, и часто имеют размер больше 8 байт. Информации на эту тему в интернете я нашел относительно немного, потому…

    Читать далее »
  • ХабрахабрФото [Перевод] Структуры данных для программистов игр: bulk data

    [Перевод] Структуры данных для программистов игр: bulk data

    Любому программисту будет полезно понимание различных структур данных и способов анализа их производительности. Но на практике мне ни разу не пригождались АВЛ-деревья, красно-чёрные деревья, префиксные деревья, списки с пропусками, и т.д. Некоторые структуры данных я использую только для одного конкретного алгоритма и ни для чего больше (например, кучи для реализации очереди с приоритетом в алгоритме поиска пути A*). Чаще всего…

    Читать далее »
  • ХабрахабрФото [Перевод] Внутренности Go: оборачиваем переменные цикла в замыкании

    [Перевод] Внутренности Go: оборачиваем переменные цикла в замыкании

    В дополнение вы узнаете о том, как Go пытается автоматически определить, нужно ли использовать указатель/ссылку или значение в разных случаях. Сегодня я решил перевести для вас небольшую статью о внутренностях реализации так называемых замыканий или closures. Да и просто все эти внутренности чертовски интересны, как мне кажется! Понимание этих вещей позволит избежать ошибок. Я член программного комитета конференции, и мы…

    Читать далее »


Кнопка «Наверх»