Рубрика «С++» - 25

John LindquistПросим любить и жаловать: Джон Линдквист (John Lindquist), новый член команды технологических евангелистов JetBrains. В начале августа Джон дал нам подробное интервью, русскую версию которого мы и хотим представить аудитории Хабра. Но довольно предисловий — читайте и знакомьтесь!

1. Здравствуйте, Джон! Мы рады приветствовать Вас в JetBrains. Спасибо, что нашли время поговорить с нами. Вы довольно известная личность — например, в мире Flash, но не могли бы Вы рассказать немного о себе для тех, кто еще Вас не знает?

Конечно. Сначала о своем профессиональном пути: я занялся программированием еще в школе, писал игры на калькуляторе TI-85 вместо того, чтобы заниматься математикой (если не считать hypercard, это было еще раньше). Позже я увлекся написанием собственного программного обеспечения для ведения блогов с домашнего сервера (ASP), а затем перешел к выполнению разовых проектов еще во время учебы в колледже, примерно в 2000 году (php, java). Следующие пару лет разрабатывал внутреннее приложение для Университета штата Юта, предназначенное для отправки/ преобразования для просмотра документов в формате pdf (php, pdf и т.п.). Затем устроился на работу в компанию Schematic и работал с такими клиентами, как Disney, Dell, Target и другими (flash, html). В последнее время работал консультантом в компании Roundarch с такими клиентами, как Bloomberg, HBO, ВВС США (HTML/JS, flex, flash и т.п.).
Читать полностью »

Алгоритмы сортировки. Их не много, но и не мало. Есть часто используемые, есть никому не нужные. Я решил произвести обзор этих алгоритмов, чтоб освежить и свою память, и память хабрапользователей. И начнём с редкоиспользуемого алгоритма Gnome Sort(гномья сортировка).
Читать полностью »

Навеяно постом. Попутно получилось что-то похожее на собственную реализацию лямбда-выражений :) С возможностью вычисления производной еще на этапе компиляции. Для задания функции можно использовать операторы +, -, *, /, а также ряд стандартных математических функций.
Читать полностью »

Односвзязный список — это фундаментальная структура данных, о которой все знают и повсеместно используют. Все знают почему и в каких случаях он эффективнее вектора, какие операции имеют линейную сложность, а какие — константную…

Хотя постойте, знаете ли вы какова соложность функции size ()?
«Конечно же я знаю — О(1)!», ответят многие из вас, «Что может быть проще?»

size_type  size() const                             
{
       return _size;
}

Тривиально, эффективно и безопасно, не так ли?
Я бы реализовал эту функцию именно так, большинство из вас сделали бы тоже самое.

Однако, те, кто писал реализацию GNU STL, другого мнения на этот счет.
Читать полностью »

Как известно, в С++, как и в его предке С, инструкция typdef не создает новых типов, а всего лишь псевдонимы для существующих. И если в слаботипизированном С это не было проблемой, то в строгом С++ это приводит к недоумению, особенно среди новичков, а так же трудноуловимым багам в программе.

В этой статье мы попробуем обойти эту неприятную особенность.
Читать полностью »

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

Прочитал, недавно, на хабре, статью про scope(exit) в языке D и проникся красотой идеи.
Ведь так часто бывает, что нужно выполнить какой-либо код по выходу из функции, а создавать каждый раз страж — утомительно, да и не всегда возможно.
Но, использую новый стандарт, в С++ можно сделать не хуже, кому интересно — прошу под кат.
Читать полностью »

в 8:39, , рубрики: c++, clang, С++, метки: ,

Сейчас с уверенностью можно утверждать, что времена самописных C++-парсеров постепенно отходят в прошлое. На сцену медленно, но неумолимо выходит clang — полноценный C++-фронренд и компилятор, предоставляющий своим пользователям богатое API. С помощью этого API можно распарсить исходный текст на C/C++/Objective C, и вытащить из него всю необходимую информацию — от простого лексического значения токенов, до таблицы символов, AST-деревьев и результатов статического анализа кода на предмет всяких разных проблем. В связке с llvm и при сильном на то желании C++ можно использовать в качестве скриптового языка, парся и исполняя C++-программы «на лету». В общем, возможности перед программистами открываются богатые, надо только понять — как ими правильно воспользоваться. А тут, как это не редко случается, и начинается самое интересное.
Читать полностью »

image
Как известно, некоторое время назад команда Mozilla наступила на баг в линкере микрософт — xul.dll получалась такая богатая, что линкер на ней падал. И собрать версию под платформу номер один (windows 32bit) не удавалось.

Временно, до выяснения, из Firefox были выкинуты «малоиспользуемые» API. Произошло это между 5 и 7й версиями.

Не будет сюрпризом тот факт, что борьба за линкер была продолжена, о чем у нас и пойдет речь.

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

А мы (мы — это рекрутинговая компания IT-Доминанта), продолжаем публиковать результаты нашего исследования рынка заработных плат в IT индустрии.
Очередной пост мы решили посвятить:

  • Java программистам
  • С++ программистам
  • C# программист
  • Delphi программистам

Обзор зарплат программистов Java/C++/C#/Delphi
Читать полностью »


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