ch
Feedback
Senior C++ Developer

Senior C++ Developer

前往频道在 Telegram

Изучаем C++. По вопросам сотрудничества: @adv_and_pr РКН: https://www.gosuslugi.ru/snet/676e9a1e4e740947beca35ba

显示更多
11 861
订阅者
-624 小时
-247
-6830
吸引订阅者
六月 '26
六月 '26
+1
在0个频道中
五月 '26
+99
在3个频道中
Get PRO
四月 '26
+28
在0个频道中
Get PRO
三月 '26
+12
在0个频道中
Get PRO
二月 '26
+19
在0个频道中
Get PRO
一月 '26
+17
在0个频道中
Get PRO
十二月 '25
+13
在0个频道中
Get PRO
十一月 '25
+17
在0个频道中
Get PRO
十月 '25
+14
在0个频道中
Get PRO
九月 '25
+7
在0个频道中
Get PRO
八月 '25
+41
在0个频道中
Get PRO
七月 '25
+36
在0个频道中
Get PRO
六月 '25
+51
在0个频道中
Get PRO
五月 '25
+25
在0个频道中
Get PRO
四月 '25
+39
在0个频道中
Get PRO
三月 '25
+25
在0个频道中
Get PRO
二月 '25
+28
在0个频道中
Get PRO
一月 '25
+14
在2个频道中
Get PRO
十二月 '24
+47
在0个频道中
Get PRO
十一月 '24
+38
在0个频道中
Get PRO
十月 '24
+924
在4个频道中
Get PRO
九月 '24
+2 110
在22个频道中
Get PRO
八月 '24
+143
在16个频道中
Get PRO
七月 '24
+18
在0个频道中
Get PRO
六月 '24
+34
在0个频道中
Get PRO
五月 '24
+41
在0个频道中
Get PRO
四月 '24
+58
在0个频道中
Get PRO
三月 '24
+57
在0个频道中
Get PRO
二月 '24
+59
在0个频道中
Get PRO
一月 '24
+87
在0个频道中
Get PRO
十二月 '23
+157
在0个频道中
Get PRO
十一月 '23
+38
在0个频道中
Get PRO
十月 '23
+267
在0个频道中
Get PRO
九月 '23
+454
在0个频道中
Get PRO
八月 '23
+55
在0个频道中
Get PRO
七月 '23
+38
在0个频道中
Get PRO
六月 '23
+83
在0个频道中
Get PRO
五月 '23
+1 929
在0个频道中
Get PRO
四月 '23
+53
在0个频道中
Get PRO
三月 '23
+1 159
在0个频道中
Get PRO
二月 '23
+58
在0个频道中
Get PRO
一月 '23
+400
在0个频道中
Get PRO
十二月 '22
+1 345
在0个频道中
Get PRO
十一月 '22
+4 505
在0个频道中
Get PRO
十月 '22
+434
在0个频道中
Get PRO
九月 '22
+614
在0个频道中
Get PRO
八月 '22
+1 514
在0个频道中
Get PRO
七月 '22
+579
在0个频道中
Get PRO
六月 '22
+769
在0个频道中
Get PRO
五月 '22
+544
在0个频道中
Get PRO
四月 '22
+672
在0个频道中
Get PRO
三月 '22
+2 467
在0个频道中
Get PRO
二月 '22
+231
在0个频道中
Get PRO
一月 '22
+1 659
在0个频道中
Get PRO
十二月 '21
+885
在0个频道中
Get PRO
十一月 '21
+1 035
在0个频道中
Get PRO
十月 '21
+375
在0个频道中
日期
订阅者增长
提及
频道
04 六月0
03 六月+1
02 六月0
01 六月0
频道帖子
#вопросы_с_собеседований Опишите выделение памяти и их отличия? • Статическое выделение памяти - выделяется редактором связей и существует, пока выполняется программа; • Память в стеке - автоматическая память. Выделяется при вызове функции для хранения локальных объектов и очищается автоматически после выхода этих объектов из зоны видимости, то есть после возвращения управления из функции; • Память в куче - динамическая память. Объекты создаются с помощью оператора new и должны быть уничтожены с помощью вызова оператора delete самим программистом.

2
Избавляемся от макросов В целом, разработчики стандарта стараются исключить препроцессор. Как следствие, в новой версии можно
Избавляемся от макросов В целом, разработчики стандарта стараются исключить препроцессор. Как следствие, в новой версии можно не пользоваться макросами FILE и LINE, а взамен использовать std::source_location(см картинку). Как мы видим, код становится более единообразным, в одном стиле, с расширяемым функционалом.
719
3
Квадратный корень и квадратный квадрат Найдите такое число x, что x^2 + sqrt(x) = C, с точностью не менее 6 знаков после точк
Квадратный корень и квадратный квадрат Найдите такое число x, что x^2 + sqrt(x) = C, с точностью не менее 6 знаков после точки. Формат входных данных: В единственной строке содержится вещественное число C (1 ≤ C ≤ 10^10). Формат выходных данных: Выведите одно число — искомый x.
957
4
#вопросы_с_собеседований Что такое ссылка? Как можно инициализировать ссылку одной или другой переменной в зависимости от усл
#вопросы_с_собеседований Что такое ссылка? Как можно инициализировать ссылку одной или другой переменной в зависимости от условия? Ответ: Это другое имя для переменной. Ссылку необходимо инициализировать при объявлении и изменять уже нельзя. С помощью тернарного оператора или с помощью лямбда-функции.
1 131
5
Cocos2D-X Библиотека предназначена для упрощения разработки мобильных игр. Пользователи отмечают её доступность, простоту исп
Cocos2D-X Библиотека предназначена для упрощения разработки мобильных игр. Пользователи отмечают её доступность, простоту использования и наличие специального конструктора на основе Cocos Creator. Кстати, с использованием этой библиотеки была разработана игра Badland. Если в игру планируется добавление большого количество анимации и графики, то лучше использовать Unity, который позволяет интегрировать файлы из таких программ, как Photoshop, Maya или Blender. Подробнее можно ознакомиться здесь.
1 227
6
#вопросы_с_собеседований Что вообще означает модификатор virtual? В C++ виртуальные функции позволяют поддерживать полиморфизм – одну из ключевых составляющих ООП. С его помощью в классах-потомках можно переопределять функции класса-родителя. Без виртуальной функции мы получаем «раннее связывание», а с ней – «позднюю привязку». То есть, какая реализация метода используется, определяется непосредственно во время выполнения и основывается на типе объекта с указателем на объект, из которого он построен.
1 181
7
Нам действительно нужно неопределенное поведение? https://www.ralfj.de/blog/2021/11/24/ub-necessary.html
1 291
8
#вопросы_с_собеседований Что такое класс хранения? Класс, который определяет срок существования, компоновку и расположение переменных/функций в памяти. В C ++ поддерживаются такие классы хранения: auto, static, register, extern и mutable. Обратите внимание, что register устарел для C++11. Для C++17 он был удален и зарезервирован для будущего использования.
1 528
9
Функция before_begin() forward_list::before_begin() - это встроенная функция в CPP STL, которая возвращает итератор, который
Функция before_begin() forward_list::before_begin() - это встроенная функция в CPP STL, которая возвращает итератор, который указывает на позицию перед первым элементом forward_list.
1 643
10
Минимально жизнеспособный графический интерфейс на C++. https://ossia.io/posts/minimum-viable/
1 555
11
Продвинутый курс лекций по алгоритмам с ФИВТ МФТИ. https://youtube.com/playlist?list=PL4_hYwCyhAvYzrbNOLAy-EczKdAbWoRDK
1 510
12
Указатель this доступен только внутри нестатических методов класса Попробуем добавить такой метод в наш класс: static void set(int x) { this->x = x; } Здесь мы добавили для метода setмодификатор static. obj.set(6); Мы получим ошибку компиляции: ‘this’ is unavailable for static member functions. Это объясняется тем, что указатель this передаётся только в нестатические методы класса как скрытый параметр. В статических методах он недоступен.
1 482
13
Архитектура игрового движка — серия обучающих видео. https://youtu.be/sHVEL90NLhc
1 572
14
Игровой движок для неевклидовых миров, написанный на C++ OpenGL. https://youtu.be/kEB11PQ9Eo8
1 716
15
this удобно использовать для цепочных вызовов Мы можем вернуть ссылку на объект, на котором мы вызываем метод класса: Foo &set(int x) { this->x = x; return *this; } Здесь метод set возвращает ссылку на объект класса Foo(Foo&). Такая реализация метода позволяет нам писать код, подобный этому: obj.set(2).set(8); Это возможно, поскольку первый вызов метода set возвращает указатель на объект obj. Второй метод вызывается на объекте obj, т. е. можно переписать код так: obj = obj.set(2); obj = obj.set(8);
1 781
16
Автовыведение типа Несмотря на то, что ключевое слово auto было введено еще в C++11, многие программисты продолжают его игнор
Автовыведение типа Несмотря на то, что ключевое слово auto было введено еще в C++11, многие программисты продолжают его игнорировать. А ведь автовыведение позволяет экономить время и делает код лаконичным. Увидеть преимущества можно даже на примере стандартных типов STL.
1 527
17
#вопросы_с_собеседований Что быстрее: постфиксные инкрементные операторы или префиксные? Чем отличается их сигнатура? Префикс
#вопросы_с_собеседований Что быстрее: постфиксные инкрементные операторы или префиксные? Чем отличается их сигнатура? Префиксные операторы быстрее. В постфиксных операторах производится дополнительная операция сохранения предыдущего состояния объекта, а затем только увеличение на 1, а в префиксном операторе после инкрементирования объекта, сразу возвращается ссылка объект. Сигнатура их отличается фиктивным параметром int у постфиксного оператора.
1 516
18
#вопросы_с_собеседований Какие отличия у std::array и std::vector? std::array — это обёртка вокруг обычного массива, фиксированного размера, а std::vector - это динамически расширяемый массив. std::array хранит свои данные в стековой памяти, а vector выделяет память в куче (динамическая память). У std::array в параметрах шаблона указывается тип хранимых элементов и размер массива. А у std::vector - тип элементов и ещё возможно указать аллокатор, который нужно использовать при выделении памяти (с помощью new). std::array чуть лучше по производительности в случае небольшого массива, чем std::vector, который содержит в себе несколько указателей, которые указывают на выделенный в куче кусок памяти.
1 520
19
absl::btree absl::btree — это реализация B-дерева в библиотеке Abseil для C++. Преимущества absl::btree — это хранение данных
absl::btree absl::btree — это реализация B-дерева в библиотеке Abseil для C++. Преимущества absl::btree — это хранение данных в отсортированном порядке, быстрый поиск, вставка и удаление за O(logN), поддержка уникальных и неуникальных ключей, реализация set и map. Применяется в задачах, где нужна высокопроизводительная структура данных с отсортированным доступом, например: Реализация словарей и сортированных множеств; Для хранения данных в базах данных; В поисковых системах для индексов; В структурах вроде кэша для быстрого доступа; В задачах машинного обучения для хранения данных.
1 521
20
std::clamp std::clamp — это функция из стандартной библиотеки, которая позволяет ограничить значение в заданном диапазоне. Фу
std::clamp std::clamp — это функция из стандартной библиотеки, которая позволяет ограничить значение в заданном диапазоне. Функция принимает значение, нижнюю и верхнюю границы и возвращает исходное значение, если оно входит в диапазон, или же возвращает ближайшую границу, если значение вне диапазона. Применяется для: — Ограничения числовых значений в заданных пределах. — Обработки данных из недостоверных источников. — Защиты от переполнения/обрезания данных. — Нормализации данных в ML и компьютерном зрении. — Реализации игровой логики в движках. — Обработки аудио- и видео- сигналов.
1 454