Прототип функції - декларація функції в деяких мовах програмування, при якій вказується тільки її назва, тип та кількість і типи її аргументів. Таке оголошення необхідне і достатнє для компілятора при створенні правильного об'єктного коду.Необхідність у оголошенні прототипу функції перед визначенням її реального коду виникає при складних вкладених викликах однієї функції в іншій.
Для более простого восприятия объясню коротко
функция int my_function (int a) – прототип int my function (int);
функция void my_function(int a,int b,int c) – прототип void my_function(int,int,int);
Какой тип у функции – такой тип у прототипа
Какие типы у параметров функции – такие типы указываем в скобках прототипа
В языке программирования C++ термин Стандартная Библиотека означает коллекцию классов и функций, написанных набазовом языке.
#include директива указывает, что препроцессор обрабатывает содержимое указанного файла, если эти содержимое появились в программу источника в той точке, где отображается директива.
#include "path-spec" #include <path-spec>
Стандартные заголовочные файлы[править | править вики-текст]
Нижеперечисленные файлы содержат объявления Стандартной Библиотеки.
Контейнеры[править | править вики-текст]
- <bitset>
- Реализует специализированный класс контейнеров
std::bitset— битовый массив. - <deque>
- Реализует шаблон класса контейнера
std::deque— двусвязная очередь. - <list>
- Реализует шаблон класса контейнера
std::list— двусвязный список. - <map>
- Реализует шаблоны классов контейнеров
std::mapиstd::multimap— Ассоциативный массив и мультиотображение. - <queue>
- Реализует класс адаптер-контейнера
std::queue— односторонняя очередь. - <set>
- Реализует шаблоны классов контейнеров
std::setиstd::multiset— сортированные ассоциативные контейнеры или множества. - <stack>
- Реализует класс адаптер-контейнера
std::stack— стек. - <vector>
- Реализует шаблон класса контейнеров
std::vector— динамический массив.
Общие[править | править вики-текст]
- <algorithm>
- Реализует определения многих алгоритмов для работы с контейнерами.
- <functional>
- Реализует несколько объект-функций, разработанных для работы со стандартными алгоритмами.
- <iterator>
- Реализует классы и шаблоны для работы с итераторами.
- <locale>
- Реализует классы и шаблоны для работы с локалями.
- <memory>
- Реализует инструменты управления памятью в C++, включая шаблон класса
std::auto_ptr. - <stdexcept>
- Содержит стандартную обработку ошибок классов, например,
std::logic_errorиstd::runtime_error, причем оба происходят изstd::exception. - <utility>
- реализует шаблон класса
std::pairдля работы с парами (двучленными кортежами) объектов.
Строковые[править | править вики-текст]
- <string>
- Реализует стандартные строковые классы и шаблоны.
Поточные и ввода-вывода[править | править вики-текст]
- <fstream>
- Реализует инструменты для файлового ввода и вывода. Смотри fstream.
- <ios>
- Реализует несколько типов и функций, составляющих основу операций с iostreams.
- <iostream>
- Реализует основы ввода и вывода языка C++. Смотри iostream.
- <iosfwd>
- Реализует предварительные объявления нескольких шаблонов классов, связанных с вводом-выводом.
- <iomanip>
- Реализует инструменты для работы с форматированием вывода, например базу, используемую при форматировании целых и точных значений чисел с плавающей запятой.
- <istream>
- Реализует шаблон класса
std::istreamи других необходимых классов для ввода. - <ostream>
- Реализует шаблон класса
std::ostreamи других необходимых классов для вывода. - <sstream>
- Реализует шаблон класса
std::sstreamи других необходимых классов для работы со строками. - <streambuf>
Числовые[править | править вики-текст]
- <complex>
- Реализует шаблон класса
std::complexи связанные функции для работы с комплексными числами. - <numeric>
- Реализует алгоритмы для числовой обработки
- <valarray>
- Реализует шаблон класса
std::valarray— класс массивов, оптимизированный для числовой обработки.
Языковая поддержка[править | править вики-текст]
- <exception>
- Реализует несколько типов и функций, связанных с обработкой исключений, включая
std::exception— базовый класс всех перехватов исключений в Стандартной Библиотеке. - <limits>
- реализует шаблон класса
std::numeric_limits, используемый для описания свойств базовых числовых типов. - <new>
- Реализует операторы
newиdelete, а также другие функции и типы, составляющие основу управления памятью в C++. - <typeinfo>
- Реализует инструменты для работы с динамической идентификацией типа данных в C++.