Библиотека 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
加入频道
​​Научись писать производительные веб-сервисы с простым кодом за пару дней!
Осталось всего 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 – куча.
Programmer С++ в Playrix

Удалённо
Опыт разработки на С++ от 3 лет

https://prglb.ru/56nl8
​​Разбираемся в ООП-дизайне, чтобы управлять сложностью проектов:
https://web.archive.org/web/20120102190219/http://www.accu.informika.ru/acornsig/public/articles/ood_intro.html
Если вы хотите создать свой проект, то можете черпать вдохновение из данного источника.
Сайт содержит множество проектов на C/C++ (без ошибок и очепяток)
https://www.codewithc.com/c-projects-with-source-code/
Что выведет программа?
#include <stdio.h>
#include <stdlib.h> int main(int argc, char *argv[]) { char temp[20]; gcvt(23.45, 3, temp); printf("%s", temp); return 0; }
Anonymous Poll
9%
0
19%
23.5
23%
23.45000
49%
23.4