Лучшие инструменты и советы начинающему C++ программисту
Хотите изучать C++? Делимся важными навыками, фреймворками и советами, которые помогут начинающему C++ программисту устроиться на работу.
😉👇
https://proglib.io/p/cpp-dev-skills
Хотите изучать C++? Делимся важными навыками, фреймворками и советами, которые помогут начинающему C++ программисту устроиться на работу.
😉👇
https://proglib.io/p/cpp-dev-skills
Библиотека программиста
Лучшие инструменты и советы начинающему C++ программисту
Хотите изучать C++? Делимся важными навыками, фреймворками и советами, которые помогут начинающему C++ программисту устроиться на работу.
Изучение многопоточности в C++
Стремление к производительности — то, с чем MICHAEL ADAIXO экспериментирует и консолидирует свои знания о многопоточности в своем блоге. В настоящее время эта тема становится более важной, поскольку процессоры получают все больше и больше ядер. Современные игровые движки и приложения используют несколько процессорных ядер, чтобы оставаться быстрыми и отзывчивыми.
Серия статей на эту тему:
Часть 1: Изучение многопоточности в C++;
Часть 2: Изучение многопоточности в C++;
Часть 3: Изучение многопоточности в C++: загрузка текстур;
Часть 4: Изучение многопоточности в C++: распараллеливание трассировки лучей.
Стремление к производительности — то, с чем MICHAEL ADAIXO экспериментирует и консолидирует свои знания о многопоточности в своем блоге. В настоящее время эта тема становится более важной, поскольку процессоры получают все больше и больше ядер. Современные игровые движки и приложения используют несколько процессорных ядер, чтобы оставаться быстрыми и отзывчивыми.
Серия статей на эту тему:
Часть 1: Изучение многопоточности в C++;
Часть 2: Изучение многопоточности в C++;
Часть 3: Изучение многопоточности в C++: загрузка текстур;
Часть 4: Изучение многопоточности в C++: распараллеливание трассировки лучей.
Первый игровой движок на С++ и SFML
Пошаговый гайд по написанию простого 2D игрового движка на С++: твой уверенный старт в геймдеве!
🤟🕺👇
https://proglib.io/sh/XgMAkSeQhl
Пошаговый гайд по написанию простого 2D игрового движка на С++: твой уверенный старт в геймдеве!
🤟🕺👇
https://proglib.io/sh/XgMAkSeQhl
Библиотека программиста
Первый игровой движок на С++ и SFML
Пошаговый гайд по написанию простого 2D игрового движка на С++: твой уверенный старт в геймдеве!
5 способов использования скобок могут сделать ваш код C++ более выразительным
Многие языки используют фигурные скобки для структурирования кода. Но в C++ фигурные скобки — гораздо больше, чем просто инструмент для удержания блоков кода вместе. В C++ фигурные скобки имеют значение. Точнее, фигурные скобки имеют несколько значений. В блоге Джонатана Боккары можно найти 5 простых способов сделать их более выразительными.
Многие языки используют фигурные скобки для структурирования кода. Но в C++ фигурные скобки — гораздо больше, чем просто инструмент для удержания блоков кода вместе. В C++ фигурные скобки имеют значение. Точнее, фигурные скобки имеют несколько значений. В блоге Джонатана Боккары можно найти 5 простых способов сделать их более выразительными.
Fluent C++
5 Ways Using Braces Can Make Your C++ Code More Expressive
Expressive code in C++
Как C++ 17 извлекает выгоду из библиотек Boost — интересная информация от блогера Bartlomiej Filipek, который показывает проверенные в бою функции из известных библиотек Boost, которые были адаптированы для C++ 17. С ростом числа элементов в стандартной библиотеке, поддерживаемых опытом Boost, вы можете писать еще более свободный код на C++.
Fluent C++
How C++17 Benefits from Boost Libraries, Part One
Expressive code in C++
Mid/Senior C++ Developer
➕Relocation to Berlin
➕75 000 - 120 000 EUR
➕Data visualization software company
https://teletype.in/@brainhunter.agency/rJTDSDGnr
➕Relocation to Berlin
➕75 000 - 120 000 EUR
➕Data visualization software company
https://teletype.in/@brainhunter.agency/rJTDSDGnr
Teletype
Mid/Senior C++ Developer, Relocation to Berlin
Berlin, Germany 🇩🇪 | 75 000 - 120 000 EUR | Data visualization software company
Что посмотреть «продолжающему» С++ разработчику?
Семь источников для разработчиков с опытом.
1. Видеокурс «Углубленное программирование на С/C++».
Этот курс нацелен на то, чтобы сформировать в вас практические навыки и умения, которые позволят разрабатывать ПО для UNIX-подобных ОС в проектах средней сложности на языках С и С++.
https://www.youtube.com/playlist?list=PLrCZzMib1e9rOysx0hgCaedIoOWNVjhQ0
2. Углублённый C++.
Курс углубленного С++, погрузит вас в тонкости языка. Вы узнаете о концепте const, о функциях, созданных компилятором. Также курс расскажет о статическом полиморфизме, множественном наследовании и прочих понятиях, которые помогут вам расширить знания С++.
https://www.youtube.com/playlist?list=PLGvfHSgImk4bLOOiQ3HmF_TSnltz17lA2
3. Погружение в C++11.
Этот курс расскажет и покажет вам новые функции С++11 и С++14. Обучение будет происходить на фоне разработки игры, так что вы сможете совместить приятное с полезным. Кроме новых возможностей С++ вы узнаете о динамической памяти, указателях, продолжительности жизни переменных, контроле памяти и прочих тонкостях, которые позволят вам еще лучше кодить.
https://www.youtube.com/playlist?list=PLTEcWGdSiQenl4YRPvSqW7UPC6SiGNN7e
4. Курс «C++ Threading».
Курс о многопоточности познакомит вас со всеми понятиями этого свойства платформы/приложения. Вы узнаете о том, как устроены потоки, как ими управлять и как они взаимодействуют.
https://www.youtube.com/playlist?list=PL5jc9xFGsL8E12so1wlMS0r0hTQoJL74M
5. Серия лекций по C++, в рамках которых затронуты некоторые продвинутые темы.
Из этого курса лекций вы узнаете о стандартной библиотеке шаблонов, продвинутых возможностях С++, метапрограммировании, а также стандартах С++ 11 и С++14.
https://www.youtube.com/playlist?list=PLlb7e2G7aSpQJpe8sWD2kIQ51Lx74H2FH
6. Курс «Библиотека STL C++. Продвинутый уровень».
Для того, чтобы просмотр этого курса принес вам пользу, необходимо, чтобы вы имели некоторые базовые знания STL. После него вы сможете использовать STL точно и эффективно.
https://www.youtube.com/playlist?list=PL5jc9xFGsL8E_BJAbOw_DH6nWDxKtzBPA
7. Многопоточное программирование на С/С++.
Целью этого курса является обучение межпроцессному взаимодействию и синхронизации потоков. Для того, чтобы применить полученные знания, по окончанию вы сможете создать свой веб-сервер. Темы курса включают в себя «Контейнеры», «Сокеты Беркли», «Процессы», «Потоки», «Параллельное программирование» и пр.
https://www.youtube.com/playlist?list=PLwwk4BHih4fhYu3nMqgMbp_SkYC5Kv684
Семь источников для разработчиков с опытом.
1. Видеокурс «Углубленное программирование на С/C++».
Этот курс нацелен на то, чтобы сформировать в вас практические навыки и умения, которые позволят разрабатывать ПО для UNIX-подобных ОС в проектах средней сложности на языках С и С++.
https://www.youtube.com/playlist?list=PLrCZzMib1e9rOysx0hgCaedIoOWNVjhQ0
2. Углублённый C++.
Курс углубленного С++, погрузит вас в тонкости языка. Вы узнаете о концепте const, о функциях, созданных компилятором. Также курс расскажет о статическом полиморфизме, множественном наследовании и прочих понятиях, которые помогут вам расширить знания С++.
https://www.youtube.com/playlist?list=PLGvfHSgImk4bLOOiQ3HmF_TSnltz17lA2
3. Погружение в C++11.
Этот курс расскажет и покажет вам новые функции С++11 и С++14. Обучение будет происходить на фоне разработки игры, так что вы сможете совместить приятное с полезным. Кроме новых возможностей С++ вы узнаете о динамической памяти, указателях, продолжительности жизни переменных, контроле памяти и прочих тонкостях, которые позволят вам еще лучше кодить.
https://www.youtube.com/playlist?list=PLTEcWGdSiQenl4YRPvSqW7UPC6SiGNN7e
4. Курс «C++ Threading».
Курс о многопоточности познакомит вас со всеми понятиями этого свойства платформы/приложения. Вы узнаете о том, как устроены потоки, как ими управлять и как они взаимодействуют.
https://www.youtube.com/playlist?list=PL5jc9xFGsL8E12so1wlMS0r0hTQoJL74M
5. Серия лекций по C++, в рамках которых затронуты некоторые продвинутые темы.
Из этого курса лекций вы узнаете о стандартной библиотеке шаблонов, продвинутых возможностях С++, метапрограммировании, а также стандартах С++ 11 и С++14.
https://www.youtube.com/playlist?list=PLlb7e2G7aSpQJpe8sWD2kIQ51Lx74H2FH
6. Курс «Библиотека STL C++. Продвинутый уровень».
Для того, чтобы просмотр этого курса принес вам пользу, необходимо, чтобы вы имели некоторые базовые знания STL. После него вы сможете использовать STL точно и эффективно.
https://www.youtube.com/playlist?list=PL5jc9xFGsL8E_BJAbOw_DH6nWDxKtzBPA
7. Многопоточное программирование на С/С++.
Целью этого курса является обучение межпроцессному взаимодействию и синхронизации потоков. Для того, чтобы применить полученные знания, по окончанию вы сможете создать свой веб-сервер. Темы курса включают в себя «Контейнеры», «Сокеты Беркли», «Процессы», «Потоки», «Параллельное программирование» и пр.
https://www.youtube.com/playlist?list=PLwwk4BHih4fhYu3nMqgMbp_SkYC5Kv684
YouTube
Курс · C/С++ (осень 2014)
Лекции в рамках программы 1 курса Технопарка Mail.ru Group в МГТУ им. Н.Э. Баумана. Осень 2014 года. Преподаватель - Алексей Петров Цель курса: формирование ...
Кто бы хотел протестировать в облаке свои проекты на C/C++?
Intel сделали продукт, анализирующий ваш код, указывающий на проблемы и дающий советы по улучшению производительности.
Подробности по ссылке: https://software.intel.com/en-us/vtune
Нужен доброволец, готовый в облаке протестировать, поделиться впечатлениями и кейсами работы данной технологии.
По всем вопросам пишите: @theasder
Intel сделали продукт, анализирующий ваш код, указывающий на проблемы и дающий советы по улучшению производительности.
Подробности по ссылке: https://software.intel.com/en-us/vtune
Нужен доброволец, готовый в облаке протестировать, поделиться впечатлениями и кейсами работы данной технологии.
По всем вопросам пишите: @theasder
Intel
Fix Performance Bottlenecks with Intel® VTune™ Profiler
Use advanced sampling and profiling methods to quickly analyze code, isolate issues, and deliver performance insight on modern CPUs, GPUs, and FPGAs.
Библиотека C/C++ разработчика | cpp, boost, qt pinned «Кто бы хотел протестировать в облаке свои проекты на C/C++? Intel сделали продукт, анализирующий ваш код, указывающий на проблемы и дающий советы по улучшению производительности. Подробности по ссылке: https://software.intel.com/en-us/vtune Нужен доброволец…»
Хорошее объяснение, почему синглтон-классы C++ и наследование не являются хорошими друзьями. :)
Stack Overflow
C++ Singleton class - inheritance good practice
In an existing project, I am to inherit a Controller class (MVC) declared as Singleton so as to define my own treatment. How to appropriately derive this Singleton class?
First, I expand on conte...
First, I expand on conte...
Печальная история спецификаторов формата Unicode в стиле printf в Visual C++
Windows приняла Unicode раньше, чем язык C. Тогда это означало, что Windows должна была придумать поддержку Unicode в среде выполнения C. Речь пойдет о формате строк в printf-стиле.
Windows приняла Unicode раньше, чем язык C. Тогда это означало, что Windows должна была придумать поддержку Unicode в среде выполнения C. Речь пойдет о формате строк в printf-стиле.
Алгоритмы в C++: запросы к статическим массивам
В статье рассмотрены элементарные структуры данных для получения ответов на запросы по диапазону.
👇👇👇
https://prglb.ru/43v8e
В статье рассмотрены элементарные структуры данных для получения ответов на запросы по диапазону.
👇👇👇
https://prglb.ru/43v8e
Алгоритмы и структуры данных на C++: деревья отрезков
В статье рассмотрим фундаментальные вещи, такие как алгоритмы и структуры данных в C++. Говорим о деревьях отрезков.
👇👇
https://prglb.ru/305kt
В статье рассмотрим фундаментальные вещи, такие как алгоритмы и структуры данных в C++. Говорим о деревьях отрезков.
👇👇
https://prglb.ru/305kt
Библиотека программиста
Алгоритмы и структуры данных на C++: деревья отрезков
Интересуетесь "плюсами"? В статье рассмотрим фундаментальные вещи, такие как алгоритмы и структуры данных в C++. Говорим о деревьях отрезков.
a = 6;
b = ++a++;
Чему равны a и b в конце?
b = ++a++;
Чему равны a и b в конце?
Anonymous Poll
9%
a = 6, b = 7
3%
a = 7, b = 6
16%
a = 6, b = 8
57%
a = 8, b = 7
15%
a = 7, b = 8
Правильный ответ: а = 8, b = 7. Все дело в пре- и постинкременте. Сначала b присваиваем значение ++a, то есть b = 7, a = 7, затем инкрементируем а(постинкремент). Поэтому а = 8, b = 7.
Продолжаем с пост- и преинкрементом. Что выведет данный код? ( На всякий случай, так писать нельзя. Код абсолютно нечитаемый, и можно нарваться на баги. Используем только в учебных целях:))
Anonymous Poll
2%
1
4%
2
63%
3
3%
4
1%
5
27%
Не скомпилится
Правильный ответ: 3
++—++— не влияют на результат, так как мы увеличиваем/уменьшаем на 1 одинаковое количество раз.
+=2 указывает на 3.
* получает значение 3.
Как видите, скомпилируется. Используйте lint или cppchecker, чтобы избегать подобных косяков, ведь может быть так, что ваш код будете читать и использовать не только вы.
++—++— не влияют на результат, так как мы увеличиваем/уменьшаем на 1 одинаковое количество раз.
+=2 указывает на 3.
* получает значение 3.
Как видите, скомпилируется. Используйте lint или cppchecker, чтобы избегать подобных косяков, ведь может быть так, что ваш код будете читать и использовать не только вы.
Пишете на С/C++ или Python?
А как вы ускоряете свой код?
5 декабря приходите на мастер-класс для разработчиков ПО о том, как ускорить работу приложений в 10 раз. Вы научитесь
— оптимизировать работу кода, выявлять критические функции и временные затраты.
— решать типичные проблемы, возникающие при анализе данных о производительности ПО.
— использовать компиляторы и библиотеки для работы с большим массивом данных.
— настраивать CI для использования инструментов Intel® и решения интеграционных проблем.
Кому будет полезно: тем, кто хочет быть в тренде по инструментам анализа производительности ПО и облачных платформ.
Место и время встречи: офис компании Selectel, СПб, 5 декабря в 9 утра
Регистрируемся здесь: https://prglb.ru/3761f
А как вы ускоряете свой код?
5 декабря приходите на мастер-класс для разработчиков ПО о том, как ускорить работу приложений в 10 раз. Вы научитесь
— оптимизировать работу кода, выявлять критические функции и временные затраты.
— решать типичные проблемы, возникающие при анализе данных о производительности ПО.
— использовать компиляторы и библиотеки для работы с большим массивом данных.
— настраивать CI для использования инструментов Intel® и решения интеграционных проблем.
Кому будет полезно: тем, кто хочет быть в тренде по инструментам анализа производительности ПО и облачных платформ.
Место и время встречи: офис компании Selectel, СПб, 5 декабря в 9 утра
Регистрируемся здесь: https://prglb.ru/3761f
Что выведет программа?
#include <stdio.h>
int main() { register int foo; printf("%p\n", &foo); return 0; }
#include <stdio.h>
int main() { register int foo; printf("%p\n", &foo); return 0; }
Anonymous Poll
42%
Не скомпилируется
13%
0
3%
127
2%
128
1%
-128
40%
bff5a400
Правильный ответ: не скомпилируется. Ключевое слово register означает, что переменная должна быть сохранена в регистре, а не в памяти, чтобы быстрее получить к ней доступ. Адреса могут указывать только на участки памяти, регистры же не могут быть адресованы указателями.