std::string класс в C++
Класс string хранит символы как последовательность байтов с возможностью доступа к каждому символу. Рассмотрим три простые функции:
1. getline() - функция используется для помещения потока символов, введенных пользователем, в память объекта.
2. push_back() - функция используется для добавления символа в конец строки.
3. pop_back() - введенная в C++11 (для строк), эта функция используется для удаления последнего символа из строки.
#example
Класс string хранит символы как последовательность байтов с возможностью доступа к каждому символу. Рассмотрим три простые функции:
1. getline() - функция используется для помещения потока символов, введенных пользователем, в память объекта.
2. push_back() - функция используется для добавления символа в конец строки.
3. pop_back() - введенная в C++11 (для строк), эта функция используется для удаления последнего символа из строки.
#example
#example
Функции вместимости в строках
1. capacity() - функция возвращает ёмкость памяти, выделенную для строки, которая может быть равной или больше, чем размер самой строки. Дополнительное пространство выделяется таким образом, чтобы при добавлении новых символов в строку операции могли выполняться эффективно.
2. resize() - функция изменяет размер строки, его можно увеличивать или уменьшать.
3. length() - функция возвращает длину строки.
4. shrink_to_fit() - функция уменьшает ёмкость памяти строки, делает ее равной минимально возможной. Эта операция полезна для экономии дополнительной памяти, когда мы уверены, что больше не нужно добавлять символы.
Функции вместимости в строках
1. capacity() - функция возвращает ёмкость памяти, выделенную для строки, которая может быть равной или больше, чем размер самой строки. Дополнительное пространство выделяется таким образом, чтобы при добавлении новых символов в строку операции могли выполняться эффективно.
2. resize() - функция изменяет размер строки, его можно увеличивать или уменьшать.
3. length() - функция возвращает длину строки.
4. shrink_to_fit() - функция уменьшает ёмкость памяти строки, делает ее равной минимально возможной. Эта операция полезна для экономии дополнительной памяти, когда мы уверены, что больше не нужно добавлять символы.
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++ и работу с шаблонами проектирования, включая использование наследования классов и общего программирования через шаблоны классов и функций.
Data Structures and Algorithms in C++ (2011)
Авторы: Michael T. Goodrich, Roberto Tamassia, David M. Mount
Второе издание данной книги предназначено для ознакомления со структурами данных и алгоритмами, включая их проектирование, анализ и реализацию. Авторы предоставляют введение в объектно-ориентированное проектирование на C++ и работу с шаблонами проектирования, включая использование наследования классов и общего программирования через шаблоны классов и функций.
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 является серьезным обновлением языка и содержит много интересных дополнений и улучшений, которые изменяют язык в лучшую сторону. Данная книга подробно описывает все существенные изменения, добавленные в этом стандарте.
C++17 In Detail (2017)
Автор: Bartłomiej Filipek
C++17 является серьезным обновлением языка и содержит много интересных дополнений и улучшений, которые изменяют язык в лучшую сторону. Данная книга подробно описывает все существенные изменения, добавленные в этом стандарте.
#example
Токенизация строки
Токенизация строки означает разделение строки относительно некоторого разделителя (разделителей). Есть много способов этого добиться.
Рассмотрим пример с функцией strtok(). Она разбивает строку по указанным разделителям и должна быть вызвана в цикле, на каждой итерации возвращая следующую часть. В конце возвращает NULL.
Токенизация строки
Токенизация строки означает разделение строки относительно некоторого разделителя (разделителей). Есть много способов этого добиться.
Рассмотрим пример с функцией 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 семантика, потокобезопасность, динамическая память и другие.
Advanced C++ Programming Cookbook (2020)
Автор: Dr. Rian Quinn
Если вы думаете, что освоили C++ и знаете все, что нужно для написания надежных программ, данная книга может пригодиться вам для укрепления знаний. Из нее вы получите исчерпывающую информацию о C++, включающую эксклюзивные советы и интересные приемы для улучшения процесса разработки вашего приложения. В книге рассматриваются такие темы, как move семантика, потокобезопасность, динамическая память и другие.
Understanding and Using C Pointers.pdf
7.3 MB
#books
Understanding and Using C Pointers (2013)
Автор: Richard M. Reese
Улучшите свои результаты благодаря полному пониманию указателей в C и управлению памятью. Из этой практической книги вы узнаете, как указатели предоставляют механизм динамического управления памятью, улучшают поддержку структур данных и обеспечивают доступ к аппаратному обеспечению. Автор Ричард Риз показывает читателям, как использовать указатели с массивами, строками, структурами и функциями, используя модели памяти на протяжении всей книги.
Understanding and Using C Pointers (2013)
Автор: Richard M. Reese
Улучшите свои результаты благодаря полному пониманию указателей в C и управлению памятью. Из этой практической книги вы узнаете, как указатели предоставляют механизм динамического управления памятью, улучшают поддержку структур данных и обеспечивают доступ к аппаратному обеспечению. Автор Ричард Риз показывает читателям, как использовать указатели с массивами, строками, структурами и функциями, используя модели памяти на протяжении всей книги.
#example
Функция strrchr()
В C++ strrchr() - это предопределенная функция, используемая для обработки строк. Эта функция возвращает указатель на всю строку после последнего появления заданного символа. Символ, последнее вхождение которого мы хотим найти, передается в качестве второго аргумента функции, а строка, в которой мы должны найти этот символ, передается в качестве первого аргумента функции.
В примере кода на картинке мы используем функцию для того, чтобы найти порядковый номер символа в заданной строке.
Функция strrchr()
В C++ strrchr() - это предопределенная функция, используемая для обработки строк. Эта функция возвращает указатель на всю строку после последнего появления заданного символа. Символ, последнее вхождение которого мы хотим найти, передается в качестве второго аргумента функции, а строка, в которой мы должны найти этот символ, передается в качестве первого аргумента функции.
В примере кода на картинке мы используем функцию для того, чтобы найти порядковый номер символа в заданной строке.
Absolute C++.pdf
6.3 MB
#books
Absolute C++ (2015)
Авторы: Walter Savitch, Kenrick Mock
Количество страниц: 1008
Absolute C++ — это всеобъемлющее введение в язык программирования C++. Данная книга, адаптированная для широкого круга читателей, подходит как для начинающих, так и для опытных программистов, знакомых с языком C++. Шестое издание охватывает множество тем: от базового синтаксиса до более сложных вещей, таких как полиморфизм, обработка исключений и стандартная библиотека шаблонов.
Absolute C++ (2015)
Авторы: Walter Savitch, Kenrick Mock
Количество страниц: 1008
Absolute C++ — это всеобъемлющее введение в язык программирования C++. Данная книга, адаптированная для широкого круга читателей, подходит как для начинающих, так и для опытных программистов, знакомых с языком C++. Шестое издание охватывает множество тем: от базового синтаксиса до более сложных вещей, таких как полиморфизм, обработка исключений и стандартная библиотека шаблонов.
#lesson
Напишите CRUD приложение для базы данных в 10 строк на C++ (с новым генератором ObjectBox)
https://objectbox.io/introducing-objectbox-generator-plus-c-api/
Напишите CRUD приложение для базы данных в 10 строк на C++ (с новым генератором ObjectBox)
https://objectbox.io/introducing-objectbox-generator-plus-c-api/
ObjectBox
ObjectBox Generator: First Look (plus, C++ API release)
Today we introduce the ObjectBox Generator, to simplify ObjectBox development for more programming languages, starting with C/C++.
#article
Достоинства и недостатки псевдонимов в C и C++, Часть 1
https://developers.redhat.com/blog/2020/06/02/the-joys-and-perils-of-c-and-c-aliasing-part-1
Достоинства и недостатки псевдонимов в C и C++, Часть 1
https://developers.redhat.com/blog/2020/06/02/the-joys-and-perils-of-c-and-c-aliasing-part-1
Red Hat Developer
The joys and perils of C and C++ aliasing, Part 1 | Red Hat Developer
In C, C++, and some other programming languages, the term aliasing refers to a situation where two different expressions or symbols refer to the same object. When references access that object in
#example
Некоторые различия между ссылками и указателями
1. Указатель может быть объявлен void, а ссылка - никогда. Пример на картинке.
2. Переменная-указатель может иметь несколько уровней вложенности, то есть, например, бывают одиночные указатели, двойные указатели, тройные указатели. Ссылка же имеет только один единственный уровень вложенности.
3. Ссылочная переменная не может быть обновлена.
Некоторые различия между ссылками и указателями
1. Указатель может быть объявлен void, а ссылка - никогда. Пример на картинке.
2. Переменная-указатель может иметь несколько уровней вложенности, то есть, например, бывают одиночные указатели, двойные указатели, тройные указатели. Ссылка же имеет только один единственный уровень вложенности.
3. Ссылочная переменная не может быть обновлена.
#article
Достоинства и недостатки псевдонимов в C и C++, Часть 2
https://developers.redhat.com/blog/2020/06/03/the-joys-and-perils-of-aliasing-in-c-and-c-part-2
Достоинства и недостатки псевдонимов в C и C++, Часть 2
https://developers.redhat.com/blog/2020/06/03/the-joys-and-perils-of-aliasing-in-c-and-c-part-2
Red Hat Developer
The joys and perils of aliasing in C and C++, Part 2 | Red Hat Developer
In the previous article, I discussed the benefits of C and C++ language restrictions in optimized code. In this second half, I present a variety of programming
#example
Могут ли ссылки отсылать к недопустимому местоположению в памяти в C++?
В C++ ссылки более безопасны, чем указатели, потому что ссылки должны быть инициализированы, и их нельзя изменить, чтобы ссылаться на что-то другое после инициализации. Но есть исключения, когда у нас могут быть недействительные ссылки.
Но есть пара исключений, когда у нас могут быть недействительные ссылки. Они приведены на картинке.
Могут ли ссылки отсылать к недопустимому местоположению в памяти в C++?
В C++ ссылки более безопасны, чем указатели, потому что ссылки должны быть инициализированы, и их нельзя изменить, чтобы ссылаться на что-то другое после инициализации. Но есть исключения, когда у нас могут быть недействительные ссылки.
Но есть пара исключений, когда у нас могут быть недействительные ссылки. Они приведены на картинке.
#article
CopperSpice представляет собой набор библиотек C++, используемых для разработки кроссплатформенных приложений.
https://cpp.libhunt.com/copperspice-alternatives
CopperSpice представляет собой набор библиотек C++, используемых для разработки кроссплатформенных приложений.
https://cpp.libhunt.com/copperspice-alternatives
Libhunt
copperspice Alternatives - C++ GUI | LibHunt
Cross platform C++ libraries. Tags: Containers, GUI, C++11, Cross-platform, Library.
#example
Введение в обработку исключений
Одним из преимуществ C++ перед C является обработка исключений. Исключения - это ненормальные условия, с которыми программа сталкивается во время своего выполнения.
Есть два типа исключений: а) синхронные, б) асинхронные (например, которые находятся вне контроля программы, сбой диска и т. д.). Для этой цели C++ предоставляет следующие специализированные ключевые слова.
try: представляет блок кода, который может вызвать исключение.
catch: представляет блок кода, который выполнится при возникновении определенного исключения.
throw: используется для создания исключения. Также используется для перечисления исключений, которые генерирует функция, но не обрабатывает себя.
Введение в обработку исключений
Одним из преимуществ C++ перед C является обработка исключений. Исключения - это ненормальные условия, с которыми программа сталкивается во время своего выполнения.
Есть два типа исключений: а) синхронные, б) асинхронные (например, которые находятся вне контроля программы, сбой диска и т. д.). Для этой цели C++ предоставляет следующие специализированные ключевые слова.
try: представляет блок кода, который может вызвать исключение.
catch: представляет блок кода, который выполнится при возникновении определенного исключения.
throw: используется для создания исключения. Также используется для перечисления исключений, которые генерирует функция, но не обрабатывает себя.