cpp

  • ХабрахабрФото Как можно и как нельзя использовать нулевой указатель в С++

    Как можно и как нельзя использовать нулевой указатель в С++

    Некоторым этот банальный вопрос уже набил оскомину, но мы взяли 7 примеров и попытались объяснить их поведение при помощи стандарта: struct A { int data_mem; void non_static_mem_fn() {} static void static_mem_fn() {}}; void foo(int) {} A* p{nullptr}; /*1*/ *p;/*2*/ foo((*p, 5)); /*3*/ A a{*p};/*4*/ p->data_mem;/*5*/ int b{p->data_mem};/*6*/ p->non_static_mem_fn();/*7*/ p->static_mem_fn(); Очевидная, но важная деталь: p, инициализированный нулевым указателем, не может указывать…

    Читать далее »
  • ХабрахабрФото [Перевод] Microsoft: Rust является ‘лучшим шансом’ в отрасли программирования безопасных систем

    [Перевод] Microsoft: Rust является ‘лучшим шансом’ в отрасли программирования безопасных систем

    Независимо от того, сколько вложений компании-разработчики могут потратить на инструментарий и обучение своих разработчиков, «C++, по своей сути, не является безопасным языком», сказал Райан Левик (Ryan Levick) 'cloud developer advocate' из Microsoft на виртуальной конференции AllThingsOpen в прошлом месяце, объясняя в виртуальной беседе почему Microsoft постепенно переходит с C/C++ на Rust для создания своего инфраструктурного программного обеспечения. И вдохновляет других…

    Читать далее »
  • ХабрахабрФото Rust превосходит по производительности C++ согласно результатам Benchmarks Game

    Rust превосходит по производительности C++ согласно результатам Benchmarks Game

    В начале этого месяца случилась маленькая победа. Согласно последним результатам популярного бенчмарка, сравнивающего производительность языков программирования, Rust занимает второе место, разместившись между C и С++: Согласно последним результатам Rust превзошел С++ в 6 задачах из 10. Для сравнения производительности используется геометрическое среднее времени выполнения 10 различных программ. Под катом некоторое детали и мнение о дальнейших перспективах. Как правильно интерпретировать результаты?…

    Читать далее »
  • ХабрахабрФото С++ на службе ортодонтии: интервью с Михаилом Матросовым, разработчиком CAD из Align Technology

    С++ на службе ортодонтии: интервью с Михаилом Матросовым, разработчиком CAD из Align Technology

    Его специализация весьма необычна — он разрабатывает специализированную CAD-систему для дизайна ортодонтических приспособлений. Михаил Матросов (mmatrosov) — ведущий инженер по разработке в московском R&D-офисе Align Technology. В этом году на С++ Russia 2019 Piter он выступит с докладом «Спецификаторы, квалификаторы и шаблоны». Михаил участвует в C++ Russia с самой первой конференции. Вы также можете его знать по курсам от Яндекса…

    Читать далее »
  • ХабрахабрФото Самые частые грабли при использовании printf в программах под микроконтроллеры

    Самые частые грабли при использовании printf в программах под микроконтроллеры

    Время от времени в моих проектах приходится применять printf в связке с последовательным портом (UART или абстракция над USB, имитирующая последовательный порт). И, как обычно, времени между его применениями проходит много и я успеваю напрочь забыть все нюансы, которые требуется учитывать, чтобы он нормально работал в крупном проекте. В данной статье я собрал свой собственный топ нюансов, которые возникают при…

    Читать далее »
  • ХабрахабрФото C++ Russia 2019. Небольшой отчет с места событий и анонс следующей конференции в Санкт-Петербурге

    C++ Russia 2019. Небольшой отчет с места событий и анонс следующей конференции в Санкт-Петербурге

    Она проходила в Конгресс-парке гостиницы «Украина» в Москве и собрала аудиторию более чем в шесть сотен человек. Конференция C++ Russia — пока что самая суровая и одновременно ламповая конференция за последнее время. Здесь почти каждый доклад рассказывал о чём-то новом. Как сказал один из товарищей на афтепати: «Я со школы пытаюсь изучить C++, но постоянно натыкаюсь на что-то новое». Иногда…

    Читать далее »
  • ХабрахабрФото Асинхронность в программировании

    Асинхронность в программировании

    Сегодня мы подробно погрузимся в асинхронность и изучим, что это такое, когда она возникает, как влияет на код и язык программирования, которым мы пользуемся. В области разработки высоконагруженных многопоточных или распределенных приложений часто возникают дискуссии об асинхронном программировании. Это сделает компромиссы, возникающие во время разработки ПО, более явными. Разберемся, зачем нужны Futures и Promises и затронем корутины и операционные системы.…

    Читать далее »
  • ХабрахабрФото Уязвимости EOS Blockchain на ZeroNights 2018

    Уязвимости EOS Blockchain на ZeroNights 2018

    Если вам интересно познакомиться с тем, как обстоят дела с безопасностью в этой сети blockchain, то welcome под кат. В рамках данной статьи будут рассмотрены несколько реальных уязвимостей в EOS blockchain (одном из конкурентов Ethereum) и то, как они были встроены в конкурс New-Generation Secure Slot Machine на ZeroNights 2018. Вступление Все началось с того, что недавно, во время аудита…

    Читать далее »
  • ХабрахабрФото OutOfMemory и GDI+ иногда совсем не OutOfMemory

    OutOfMemory и GDI+ иногда совсем не OutOfMemory

    При выполнении последнего проекта на работе мы с коллегой столкнулись с тем, что некоторые методы и конструкторы в System.Drawing падают с OutOfMemory в совершенно обычных местах и когда памяти свободной ещё очень и очень много. Суть проблемы Для примера возьмём этот код на C#: using System.Drawing; using System.Drawing.Drawing2D; namespace TempProject } } При выполнении последней строчки гарантировано будет выброшено исключение…

    Читать далее »
  • ХабрахабрФото [Перевод] Цвет настроения Linux, цвет настроения Mac OS

    [Перевод] Цвет настроения Linux, цвет настроения Mac OS

    Стереотипы давно в прошлом. Сегодня Microsoft придерживается концепции «любой разработчик, любое приложение, любая платформа». Например, у нас есть специальные дистрибутивы Linux, рекомендованные для использования в облаке. Ну а о сотрудничестве с Apple знают, наверное, все. Сегодня расскажем вам о едином диспетчере библиотек C++ — vcpkg, который теперь стал доступен не только для Windows, но и для Linux и Mac OS.…

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


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