📑 Связные списки, трюки с указателями и хороший вкус
В интервью на TED Линус Торвальдс рассказывает о хорошем стиле программирования. В качестве примера приводит два варианта удаления элементов из односвязных списков. В первом варианте есть специальный случай, а в другом — нет. Линус предпочитает второй.
В качестве примера Линус показывает достаточно простой псевдокод в стиле Си. Но не даёт концептуального объяснения. Поэтому не сразу понятно, как работает косвенный указатель.
Подробно разберём это решение и его преимущества. В качестве бонуса показано не только удаление, но и вставка элемента через косвенную адресацию.
#статьи #C #Си
В интервью на TED Линус Торвальдс рассказывает о хорошем стиле программирования. В качестве примера приводит два варианта удаления элементов из односвязных списков. В первом варианте есть специальный случай, а в другом — нет. Линус предпочитает второй.
В качестве примера Линус показывает достаточно простой псевдокод в стиле Си. Но не даёт концептуального объяснения. Поэтому не сразу понятно, как работает косвенный указатель.
Подробно разберём это решение и его преимущества. В качестве бонуса показано не только удаление, но и вставка элемента через косвенную адресацию.
#статьи #C #Си
💡 Модификаторы в С++
В комментариях к последнему тесту по C++ возникли вопросы, что это за модификаторы. Поэтому сегодня разберём модификаторы знаковости и размера в С++.
▍Знаковые модификаторы
▍Модификаторы размера
Модификатор
В комментариях к последнему тесту по C++ возникли вопросы, что это за модификаторы. Поэтому сегодня разберём модификаторы знаковости и размера в С++.
▍Знаковые модификаторы
signed - представление знакового типа данных (если опущено, то подразумевается по умолчанию).unsigned - представление беззнакового типа данных.▍Модификаторы размера
short - целевой тип оптимизируется, чтобы размер был не менее 16 бит.long - целевой тип оптимизируется, чтобы размер был не менее 32 бит.Модификатор
long можно применять к типу данных дважды, что даёт оптимизацию занимаемого переменной пространства не менее 64 бит. Данная оптимизация введена в стандарте C++11.long long intМодификаторы размера и знаковости можно также комбинировать.
signed long long int#советы #coding #C #Си #C_plus_plus
👍1
📑 «Чертовски глупое решение»: история появления языка C
В том или ином виде, язык C повлиял на формирование практически каждого языка программирования, разработанного с 1980-х. Некоторые языки наподобие C++, C# и Objective C должны были стать прямыми наследниками C, а другие просто переняли и адаптировали его синтаксис. Программист, перешедший с Java, PHP, Ruby, Python или Perl, почти не испытает сложностей с пониманием простых программ на C, и в этом смысле C можно воспринимать как lingua franca программистов.
Однако C не возник из ниоткуда как единый монолит программирования. История C начинается в Англии, с коллеги Алана Тьюринга и программы, игравшей в шашки.
#статьи #C #Си
В том или ином виде, язык C повлиял на формирование практически каждого языка программирования, разработанного с 1980-х. Некоторые языки наподобие C++, C# и Objective C должны были стать прямыми наследниками C, а другие просто переняли и адаптировали его синтаксис. Программист, перешедший с Java, PHP, Ruby, Python или Perl, почти не испытает сложностей с пониманием простых программ на C, и в этом смысле C можно воспринимать как lingua franca программистов.
Однако C не возник из ниоткуда как единый монолит программирования. История C начинается в Англии, с коллеги Алана Тьюринга и программы, игравшей в шашки.
#статьи #C #Си
🔥 Лучшее на канале за неделю
1. Нужна ли нам замена языка C?
2. Maven — один из трёх самых популярных инструментов для сборки проектов на Java.
3. Модификаторы в С++.
1. Нужна ли нам замена языка C?
2. Maven — один из трёх самых популярных инструментов для сборки проектов на Java.
3. Модификаторы в С++.
📑 Пишем простой Path Tracer на старом добром GLSL
В статье показывается пример реализации простого Path Tracer на GLSL.
#статьи #C #Си #C_plus_plus
В статье показывается пример реализации простого Path Tracer на GLSL.
#статьи #C #Си #C_plus_plus
📑 Эмуляция компьютера: интерпретатор CHIP-8
В данной статье поговорим о разработке эмулятора и обсудим простой, но полноценный пример эмуляции CHIP-8.
#статьи #C #Си #C_plus_plus
В данной статье поговорим о разработке эмулятора и обсудим простой, но полноценный пример эмуляции CHIP-8.
#статьи #C #Си #C_plus_plus