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

Как известно, в С++, как и в его предке С, инструкция 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
Читать полностью »

Решил собрать в одном месте отзывы различных людей, касающиеся нашего статического анализатора кода PVS-Studio. Некоторые отзывы приведены целиком, другие частично. С оригинальными отзывами можно познакомиться, перейдя по соответствующим ссылкам.
Читать полностью »

Однострочники на Си/С++. Часть 2
Ранее я уже публиковал статью о Однострочниках на С++. Так в этом посте я хочу упомянуть ещё несколько алгоритмов, а также несколько реализаций алгоритма обмена двух чисел(с вычислением времени работы).
Всех заинтересовавшихся прошу под кат;)
Читать полностью »

image
Ранее я уже публиковал статью о Однострочниках на С++, теперь я хочу рассказать несколько STL алгоритмов и не только.
Заинтересовавших прошу под кат.
Читать полностью »

Имеем обычный «пузырек»:

for(int i = 0; i < n - 1; i++ )
	  for(int j = i + 1; j < n; j++)
	   if(ar[i] > ar[j])
	   {
		 int temp = ar[i];
		 ar[i] = ar[j];
		 ar[j] = temp; 
	   }

Задача №1: Избавиться от временной переменной. Делается это вот таким макаром:Читать полностью »


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