Библиотека 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
加入频道
Печальная история спецификаторов формата Unicode в стиле printf в Visual C++
Windows приняла Unicode раньше, чем язык C. Тогда это означало, что Windows должна была придумать поддержку Unicode в среде выполнения C. Речь пойдет о формате строк в printf-стиле.
Алгоритмы в C++: запросы к статическим массивам
В статье рассмотрены элементарные структуры данных для получения ответов на запросы по диапазону.

👇👇👇
https://prglb.ru/43v8e
Правильный ответ: а = 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, чтобы избегать подобных косяков, ведь может быть так, что ваш код будете читать и использовать не только вы.
Пишете на С/C++ или Python?
А как вы ускоряете свой код?

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; }
Anonymous Poll
42%
Не скомпилируется
13%
0
3%
127
2%
128
1%
-128
40%
bff5a400
Правильный ответ: не скомпилируется. Ключевое слово register означает, что переменная должна быть сохранена в регистре, а не в памяти, чтобы быстрее получить к ней доступ. Адреса могут указывать только на участки памяти, регистры же не могут быть адресованы указателями.
Программист С++ в MyTona

Разработка мобильных игр
Санкт-Петербург

https://prglb.ru/36etb
#beginner #c_language

Большой видео-туториал, посвященный начинающим разработчикам на языке программирования С. Вы познакомитесь с типами данных, управляющими конструкциями, структурами и другими особенностями языка С.

https://prglb.ru/37776
Как в действительности исполняются наши программы? (Ассемблер и его друзья)

Понимание того, как выполняются написанные им программы отличает опытного разработчика и является маркером его профессионализма и открывает возможности его профессионального и карьерного роста. А раз так, то и мы должны в этом разобраться!

https://proglib.io/sh/2vkBSbUM4o
Список из десяти маленьких программ, которые могут попросить написать на собеседовании, в каждой из которых не больше пятнадцати строк кода.

https://www.geeksforgeeks.org/c-cpp-tricky-programs/
Данный бесплатный видеокурс для начинающих программистов поможет научиться работать со стандартной библиотекой языка, рационально использовать память и многое другое. Лекции читают ведущие эксперты-практики в области высокоуровневых языков программирования.

https://youtu.be/Hh_zeW2P8uo
#include<iostream>

 namespace std;    

class Test
{
static int i;
int j;
};

int Test::i;

int main()
{
cout << sizeof(Test);
return 0;
}

Что выведет программа?
Статические переменные не принимают участия в расчете размера объекта, следовательно переменная i не будет учитываться. Поэтому на экран будет выведено 4.
Термин Forward Declaration означает объявление идентификатора (обозначающего такой объект, как функция, тип или переменная) до того, как программист дал ему полное определение. Это требуется для того, чтобы компилятор знал тип идентификатора, чтобы можно было определить необходимый размер памяти для, например, создания объекта. Подробнее о Forward Declaration в C++:

https://www.geeksforgeeks.org/what-are-forward-declarations-in-c/