Библиотечные функции, также называемые «встроенными», — это функции, которые уже доступны и реализованы в C++.
Мы можем напрямую вызывать эти функции в нашей программе в соответствии с нашими требованиями. Библиотечные функции в C++ объявляются и определяются в специальных файлах, называемых «файлами заголовков», на которые мы можем ссылаться в наших программах на C++ с помощью директивы «include».
Обзор
Например, чтобы включить все встроенные функции, связанные с математикой, мы должны включить заголовок <cmath> следующим образом:
1 |
#include <cmath> |
Некоторые заголовочные файлы стандартных библиотек, которые используются в C++, сведены в таблицу, как показано ниже. Эти заголовки заменяют соответствующие аналоги расширением «.h».
Например , <iostream> заменяет заголовочный файл <iostream.h>.
Файлы заголовков кратко описаны ниже:
Заголовки | Описание |
iostream | Этот заголовок содержит прототип стандартных функций ввода и вывода, используемых в C++, таких как cin, cout и т. д. |
cmath | Это заголовок, содержащий различные функции математической библиотеки. |
iomanip | Этот заголовок содержит функции манипулятора потока, которые позволяют нам форматировать поток данных. |
cstdlib | Заголовок cstdlib содержит различные функции, связанные с преобразованием текста в числа, выделением памяти, случайными числами и другими вспомогательными функциями. |
ctime | ctime содержит прототипы функций, связанных с манипуляциями с датой и временем в C++. |
cctype | Этот заголовок включает в себя прототипы функций, которые проверяют тип символов (цифры, знаки препинания и т. д.). У него также есть прототипы, которые используются для преобразования из верхнего регистра в нижний и наоборот. |
cstring | Заголовок cstring включает прототипы функций для функций обработки строк в стиле C. |
cstdio | Этот заголовок содержит прототипы функций стандартной библиотеки ввода-вывода в стиле C, которые мы изначально включили в stdio.h. |
fstream | Прототипы функций, которые выполняют ввод/вывод из/в файлы на диске, включены в заголовок fstream. |
climits | Заголовок climits имеет встроенные ограничения размера системы. |
cassert | Заголовок cassert содержит макросы и переменные для добавления диагностики, помогающей нам в отладке программы. |
cfloat | Этот заголовочный файл содержит ограничения на размер чисел с плавающей запятой в системе. |
string | Строка заголовка определяет строку класса стандартной библиотеки C++. |
list, vector, stack, queue, deque, map, set, bitset | Все эти заголовки используются для реализации стандартной библиотеки шаблонов (STL). Каждый из этих заголовков содержит соответствующее определение класса и прототипы функций. |
typeinfo | Этот заголовок содержит различные классы для идентификации типа во время выполнения (RTTI). |
exception, stdexcept | В эти два заголовка включены все классы и функции, используемые для обработки исключений в C++. |
memory | Этот заголовок используется стандартной библиотекой C++ для выделения памяти. |
sstream | Функции, которые считывают ввод из строк в памяти и выводят в строки в памяти, требуют прототипов функций из заголовка sstream для реализации функциональности. |
functional | Используется алгоритмами стандартной библиотеки C++. |
iterator | Прототипы функций и классы в этом заголовке используются стандартной библиотекой шаблонов для прохождения или повторения данных внутри контейнеров. |
algorithm | Методы, которые воздействуют на данные контейнера STL, включены в этот алгоритм заголовка. |
locale | Используется для обработки данных в исходной естественной форме для разных языков, валюты, представления символов и т. д. |
limits | Этот заголовок определяет ограничение по типу данных для чисел на каждой платформе. |
utility | Этот заголовок содержит служебные функции и классы, используемые стандартной библиотекой C++. |
Мы уже использовали большинство этих заголовков в наших программах. Заголовки <iostream>, <string>, <ctime>, мы частенько используем.
В наших следующих статьях по STL мы будем использовать все заголовки контейнеров и <algorithm>, а также заголовок <iterator>. Точно так же, когда мы изучим файловый ввод-вывод и обработку исключений, мы будем использовать соответствующие заголовки.
В этой статье мы в основном будем иметь дело с заголовками <cmath> и <cctype> и обсудим различные прототипы функций, которые они поддерживают. Прототипы функций из этих заголовков широко используются в программировании на C++.
Заголовок <cmath>
Этот заголовок содержит различные прототипы функций, связанные с математическими функциями. Некоторые из широко используемых прототипов перечислены здесь:
Функция | Описание |
sqrt(x) | Принимает любой неотрицательный числовой параметр x и возвращает квадратный корень из этого числа x |
pow(base,exponent) | Увеличивает «базовое» значение до степени, указанной показателем степени. Возвращает основание^показатель степени. |
exp(x) | Принимает любое число (положительное, отрицательное или нулевое) в качестве параметра и возвращает экспоненциальное число (число Эйлера) e, возведенное в соответствие с заданным параметром. |
fabs(x) | Возвращает абсолютное значение аргумента. |
log(x) | Возвращает натуральный логарифм (по основанию e) значения x |
log 10(x) | Возвращает логарифм (по основанию 10) значения x |
sin(x) | Возвращает синус угла x (в радианах) |
cos(x) | Возвращает косинус угла x (в радианах) |
tan(x) | Возвращает тангенс угла x (в радианах) |
asin(x) | Возвращает арксинус (в радианах) числа x |
acos(x) | Возвращает арккосинус (в радианах) числа x |
atan(x) | Возвращает арктангенс (в радианах) числа x |
Заголовок <cctype>
Этот заголовок содержит прототипы функций, которые в основном используются для преобразования символа в верхний/нижний регистр или для проверки, является ли символ цифрой и т. д.
Прототипы функций, включенные в заголовок <cctype>, перечислены ниже:
Функция | Описание |
toupper(ch) | Принимает символ ‘ch’ в качестве аргумента и возвращает эквивалент ch в верхнем регистре, если он присутствует, в противном случае возвращает ch. |
tolower(ch) | Принимает символ ‘ch’ в качестве аргумента и возвращает строчный эквивалент ch, если он присутствует, в противном случае возвращает ch. |
isalpha(ch) | Возвращает ненулевое значение, если ch является алфавитом, иначе 0. |
isalnum(ch) | Возвращает ненулевое значение, если ch является буквенно-цифровым (алфавит или цифра), в противном случае 0. |
isupper(ch) | Возвращает ненулевое значение, если ch в верхнем регистре, иначе 0. |
isdigit(ch) | Возвращает ненулевое значение, если ch является числом, иначе 0. |
islower() | Возвращает ненулевое значение, если ch в нижнем регистре, иначе 0. |
Заголовок <stdlib>
У нас также есть другой заголовок <stdlib>, который включает в себя различные полезные библиотечные функции, широко используемые в программировании на C++.
Мы перечислили некоторые из популярных функций в <stdlib> ниже:
Функция | Описание |
abs(x) | Возвращает абсолютное значение целочисленного аргумента x |
atof(const char* str) | Преобразует строку в двойную; возвращает двойной |
atoi(const char* str) | Преобразует строку в целое; возвращает целое число |
atol(const char* str) | Преобразует строку в тип long int; возвращает длинное целое |
atoll(const char* str) | Преобразует строку в long long int; возвращает очень длинный int |
strtod | Преобразует строку в двойную |
strtol | Преобразует строку в длинное целое |
strtoul | Преобразует строку в беззнаковое длинное целое |
strtof | Преобразует строку в число с плавающей запятой |
strtold | Преобразует строку в long double |
strtoull | Преобразует строку в очень длинное целое без знака |
strtoll | Преобразует строку в длинное целое число |
srand(int seed) | Это генератор псевдослучайных чисел, который инициализируется аргументом «seed». |
qsort | Сортирует элементы массива в порядке возрастания (внутренне использует метод быстрой сортировки) |
abort | Прерывает процесс, что приводит к аварийному завершению программы |
atexit | Имеет функцию, переданную в качестве аргумента, который выполняется, что приводит к нормальному завершению программы. |
malloc(size_t size) | Используется для выделения памяти, указанной по размеру, и возврата указателя на нее. |
calloc ( size_t num, size_t size) | Выделяет память размером (num*size) байтов, при этом все биты инициализируются нулем. |
free(void* ptr) | Освобождает блок памяти, выделенный вызовом функции malloc, calloc или realloc. |
realloc ( void* ptr, size_t size ) | Изменяет размер блока памяти, на который указывает ptr, который изначально был выделен с помощью вызова функции malloc или calloc. |
quick_exit | Обычное завершение процесса после возвращения управления в хост-среду. |
system | Вызывает командный процессор для выполнения системной команды, переданной в качестве аргумента. |
getenv | Извлекает значение строки среды, переданной в качестве аргумента функции. |
wctomb | Преобразование широкого символа в многобайтовую последовательность |
wcstombs | Преобразовать строку широких символов в многобайтовую строку |
Итог
В этой статье мы рассмотрели некоторые файлы заголовков, поддерживаемые стандартной библиотекой C++.
Мы также обсудили некоторые популярные библиотечные функции, используемые программистами. Этот список функций не является исчерпывающим, так как каждый заголовок стандартной библиотеки C++ содержит слишком много функций для удобства программистов.
В нашей следующей статье вы ознакомитесь с различными преобразованиями типов, поддерживаемыми в C++.
С Уважением, МониторБанк