C++_BE1
406 subscribers
278 photos
1 video
42 files
523 links
Канал по C/C++, полезный и интересный контент для всех уровней.
По вопросам сотрудничества @cyberJohnny
Download Telegram
Data Structures and Algorithms in C++.pdf
12.9 MB
#books

Data Structures and Algorithms in C++ (2011)
Авторы: Michael T. Goodrich, Roberto Tamassia, David M. Mount

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

Итераторы в строках

1. begin() - возвращает итератор в начало строки.
2. end() - возвращает итератор в конец строки.
3. rbegin() - возвращает обратный итератор, указывающий на конец строки.
4. rend() - возвращает обратный итератор, указывающий на начало строки.
C++17_In_Detail_Learn_the_Exciting_Features_of_The_New_C++_Standard.pdf
1 MB
#books

C++17 In Detail (2017)
Автор: Bartłomiej Filipek

C++17 является серьезным обновлением языка и содержит много интересных дополнений и улучшений, которые изменяют язык в лучшую сторону. Данная книга подробно описывает все существенные изменения, добавленные в этом стандарте.
#example

Токенизация строки

Токенизация строки означает разделение строки относительно некоторого разделителя (разделителей). Есть много способов этого добиться.

Рассмотрим пример с функцией strtok(). Она разбивает строку по указанным разделителям и должна быть вызвана в цикле, на каждой итерации возвращая следующую часть. В конце возвращает NULL.
Advanced_C++_Programming_Cookbook_Become_an_expert_C++_programmer.epub
39.2 MB
#books

Advanced C++ Programming Cookbook (2020)
Автор: Dr. Rian Quinn

Если вы думаете, что освоили C++ и знаете все, что нужно для написания надежных программ, данная книга может пригодиться вам для укрепления знаний. Из нее вы получите исчерпывающую информацию о C++, включающую эксклюзивные советы и интересные приемы для улучшения процесса разработки вашего приложения. В книге рассматриваются такие темы, как move семантика, потокобезопасность, динамическая память и другие.
#example

set::erase()

Функция erase() используется для удаления элементов из контейнера по указанной позиции или диапазону.
Understanding and Using C Pointers.pdf
7.3 MB
#books

Understanding and Using C Pointers (2013)
Автор: Richard M. Reese

Улучшите свои результаты благодаря полному пониманию указателей в C и управлению памятью. Из этой практической книги вы узнаете, как указатели предоставляют механизм динамического управления памятью, улучшают поддержку структур данных и обеспечивают доступ к аппаратному обеспечению. Автор Ричард Риз показывает читателям, как использовать указатели с массивами, строками, структурами и функциями, используя модели памяти на протяжении всей книги.
#example

Функция strrchr()

В C++ strrchr() - это предопределенная функция, используемая для обработки строк. Эта функция возвращает указатель на всю строку после последнего появления заданного символа. Символ, последнее вхождение которого мы хотим найти, передается в качестве второго аргумента функции, а строка, в которой мы должны найти этот символ, передается в качестве первого аргумента функции.

В примере кода на картинке мы используем функцию для того, чтобы найти порядковый номер символа в заданной строке.
Absolute C++.pdf
6.3 MB
#books

Absolute C++ (2015)
Авторы: Walter Savitch, Kenrick Mock
Количество страниц: 1008

Absolute C++ — это всеобъемлющее введение в язык программирования C++. Данная книга, адаптированная для широкого круга читателей, подходит как для начинающих, так и для опытных программистов, знакомых с языком C++. Шестое издание охватывает множество тем: от базового синтаксиса до более сложных вещей, таких как полиморфизм, обработка исключений и стандартная библиотека шаблонов.
#example

Ссылки в C++

Когда переменная объявляется как ссылка, она становится альтернативным именем для существующей переменной. Переменную можно объявить как ссылку, поместив в её объявление "&".
#example

Некоторые различия между ссылками и указателями

1. Указатель может быть объявлен void, а ссылка - никогда. Пример на картинке.

2. Переменная-указатель может иметь несколько уровней вложенности, то есть, например, бывают одиночные указатели, двойные указатели, тройные указатели. Ссылка же имеет только один единственный уровень вложенности.

3. Ссылочная переменная не может быть обновлена.
#example

Могут ли ссылки отсылать к недопустимому местоположению в памяти в C++?

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

Но есть пара исключений, когда у нас могут быть недействительные ссылки. Они приведены на картинке.
#article

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

https://cpp.libhunt.com/copperspice-alternatives
#example

Введение в обработку исключений

Одним из преимуществ C++ перед C является обработка исключений. Исключения - это ненормальные условия, с которыми программа сталкивается во время своего выполнения.

Есть два типа исключений: а) синхронные, б) асинхронные (например, которые находятся вне контроля программы, сбой диска и т. д.). Для этой цели C++ предоставляет следующие специализированные ключевые слова.

try: представляет блок кода, который может вызвать исключение.
catch: представляет блок кода, который выполнится при возникновении определенного исключения.
throw: используется для создания исключения. Также используется для перечисления исключений, которые генерирует функция, но не обрабатывает себя.
#library

Библиотека C++, предоставляющая различные параллельные структуры данных и схемы восстановления.

https://cpp.libhunt.com/xenium-alternatives
#guide

Руководство по C ++ 11: практическое руководство для программиста на каждый день.

https://stuartwheaton.com/blog/2020-06-14-c++11-guide/
#example

Могут ли статические функции быть виртуальными в C++?

В C++ статическая функция-член класса не может быть виртуальной.

Кроме того, статические функции-члены класса не могут быть const и volatile.

В примере кода приведены две функции, обе из которых не дадут программе скомпилироваться.