Библиотека C/C++ разработчика | cpp, boost, qt
21K subscribers
1.57K photos
40 videos
16 files
3.74K links
Все самое полезное для плюсовика и сишника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/d6cd2932

Наши каналы: https://yangx.top/proglibrary/9197

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
加入频道
Какой у вас опыт в коммерческой разработке?
public poll

Нет опыта – 5K
👍👍👍👍👍👍👍 42%

Более 1 года до 3 лет (включительно) – 3K
👍👍👍 21%

До 1 года (включительно) – 2K
👍👍👍 15%

Более 6 лет – 2K
👍👍 12%

Более 3 до 6 лет (включительно) – 1K
👍👍 11%

👥 13084 people voted so far.
​​ООП на C++

Кроме использования встроенных типов, таких как int, double и т.д., мы можем определять свои собственные типы или классы. Класс представляет составной тип, который может использовать другие типы.


https://metanit.com/cpp/tutorial/5.1.php
​​ООП на C++

Определение конструктора, инициализатора и примеры их работы на практике.


https://metanit.com/cpp/tutorial/5.2.php
​​Функции класса в С++

В языке C++ можно разделять объявление и определение функций в том числе по отношению к функциям, которые создаются в классах.


https://metanit.com/cpp/tutorial/5.3.php
​​Научись писать производительные веб-сервисы с простым кодом за пару дней!
Осталось всего 2 места на курсе «Стань GO-разработчиком» от Василия Романова (Mail.Ru Group), который стартует уже 17 октября
👉👉👉. http://bit.ly/2IP1hXM

На курсе мы разберем:
Основы golang
Как делать сервисы с помощью golang
Асинхронную работу сервисов
Разберем на практических задачах как добиваться высокой производительности сервисов

По промокоду  BETTERGO сможешь получить скидку в 5000 рублей только 16.10, торопись!

👉👉👉. http://bit.ly/2IP1hXM
​​Наследование в C++

Наследование позволяет избежать дублирования лишнего кода при написании классов. Разбираем основы языка.

https://code-live.ru/post/cpp-class-inheritance/
Хочешь бесплатно научиться программировать?

«Школа 21» - бесплатный образовательный проект Сбербанка, школа открыта в Москве и в декабре 2019 года открывает свои двери в Казани.
Для поступивших в школу в Казани из других городов будет предоставлено общежитие.

Получи junior или senior degree, без учителей, без лекций, без оценок.
«Школа 21» работает 24/7 - без графиков и расписания, ты сам определяешь, когда тебе учиться. Поступление не зависит от предыдущих знаний, опыта работы, умения программировать и наличия диплома. Поступить в нее может каждый достигший 18 летнего возраста.

Набор уже открыт и проходит в игровой форме.
Не теряй время, переходи на сайт Школы, выбери кампус, в котором ты хочешь учиться и подай заявку на обучение до 2 декабря: https://prglb.ru/1psom
​​Создаем собственный пайп на с++.
Узнаем, как имплементировать tee pipe, добавить его в библиотеку и протестировать код.

https://www.fluentcpp.com/2019/10/04/the-tee-pipe-a-tutorial-example-of-adding-a-pipe-the-pipes-library/
​​Что должен знать каждый C++ разработчик, чтобы (правильно) декларировать глобальные константы.
В статье рассмотрено использование ключевого слова inline (С++ 17) и extern ( более старые версии С++ ). Автор также объясняет, почему static – это не всегда оптимально.

https://www.fluentcpp.com/2019/07/23/how-to-define-a-global-constant-in-cpp/
​​Как выстрелить себе в ногу при написании программ на С/С++
Статья содержит примеры плохого кода, который на первый взгляд кажется вполне легитимным. Учимся на ошибках других 👇

https://hownot2code.com/2019/07/26/how-to-shoot-yourself-in-the-foot-in-c-and-c-haiku-os-cookbook/
​​​​Макросы – это зло(иногда)
Они являются одной из причин багов в коде, делают программу сложной для чтения и понимания, да и сами макросы написать не так легко.

Язык С++ отлично подходит для кодинга без макросов. Поэтому давайте попробуем использовать их как можно реже.

А вы используете macros в коде?

https://arne-mertz.de/2019/03/macro-evil/
Если вам нужно продлить жизнь объекта в lambda-выражении на С++ и одновременно использовать this-указатель, эта статья научит вас одному из оптимальных способов, как это сделать👇
https://devblogs.microsoft.com/oldnewthing/20190104-00/?p=100635
Что выведет программа?
#include <iostream>
using namespace std;
void fun(int& a, int b)
{
a += 2;
b += 1;
}
int main()
{
int x = 10, y = 2;
fun(x, y);
cout << x << " " << y << " ";
fun(x, y);
cout << x << " " << y;
return 0;
}
Рассмотрим некоторые темы программирования на Си уровня advanced.
http://pfacka.binaryparadise.com/articles/guide-to-advanced-programming-in-C.html
Читаете it-литературу, блоги на каком-то иностранном языке?
Найдите проблему в коде:
#include<stdio.h>
int main() { int *p = (int *)malloc(sizeof(int)); p = NULL; free(p); }
Anonymous Poll
31%
free() нельзя применить к NULL-pointer
51%
Утечка памяти
18%
Висячий указатель
free() можно спокойно применить к NULL-pointer. В данном случае проблемой является утечка памяти. Сначала надо вызвать функцию free() на поинтер, а потом присвоить ему значение NULL.
Правильная последовательность:
free(p);
p = NULL;
В каком сегменте памяти находятся i, j и *k?

int i; int main() { int j; int *k = (int*)malloc(sizeof(int)); }
Anonymous Poll
8%
i, j, *k находятся в стеке.
24%
i, j – стек, *k – куча.
63%
i – BSS, j – стек, *k – куча.
5%
j – BSS, i – стек, *k – куча.