180 likes | 395 Views
Аппендицит. Библиотеки. Библиотеки. Стандартная библиотека C ( libc ) POSIX- совместимые методы работы с ОС Стандартная библиотека C++ ( STL ) Шаблонные контейнеры и алгоритмы. Пространство имен std WinApi Библиотеки для работы с объектами операционной системы WIndows
E N D
Аппендицит Библиотеки
Библиотеки • Стандартная библиотека C (libc) POSIX-совместимые методы работы с ОС • Стандартная библиотека C++(STL) Шаблонные контейнеры и алгоритмы. Пространство имен std • WinApi Библиотеки для работы с объектами операционной системы WIndows Дополнительные библиотеки ATL, WTL • Нестандартные библиотеки Boost, Blitz, wxWidgets, QT, GTK+ и т.п.
Модули libc • assert Диагностика • errno Коды ошибок • ctype Классификация символов • limits Пределы целых чисел • float Пределы вещественных чисел • locale Языковые настройки • math Математические функции • signal Сигналы и исключительные ситуации • stdarg Переменное число аргументов • stddef Вспомогательные макросы • stdio Ввод-вывод • stdlib Полезные функции • string Функции для работы сС-строками • time Дата и время
Диагностика - assert.h • Диагностика состояний assert (выражение ) проверяет выражение на истинность. Если выражение истинно, то ничего не происходит Если выражение ложно, то оно (вместе с именем файла и номером строки) выводится в stderr, после чего программа завершается • Пример использования int f ( int const * u ) { assert ( u != 0 ); return *u ; } void main () { int c = 0 ; int a = f ( &c ); int b = f ( NULL ); }
Классификация символов – ctype.h • Классификация Проверка принадлежности символа к той или иной категории • Конвертация Преобразование регистров (заглавных в строчные и наоборот)
Языковые функции - locale.h • Информация о локализации Позволяет управлять данными о локали, т.е.набором знаний об используемых единицах измерений, часовых поясах, специальных символах, языковых символах и т.п. • Функция setlocale Устанавливает текущую локаль • Функция localeconv Обеспечивает доступ к текущей локали
Математические функции - math.h • Тригонометрия Тригонометрические функции для углов в радианах • Вычисления
Полезные функции - stdlib.h • Макросы минимум и максимум • Макросы длин _MAX_PATH, _MAX_EXT, _MAX_DIR, _MAX_DRIVE • Функции принудительного завершения exit, abort, atexit • Вспомогательные функции abs, div, qsort, getenv, itoa, atoi • Функции выделения памяти calloc, malloc, realloc, free • Функции генерации случайных чисел srand, rand #define __max(a,b) (((a) > (b)) ? (a) : (b)) #define __min(a,b) (((a) < (b)) ? (a) : (b))
Память и строки - string.h • Функции работы с памятью • Функции работы со строками
Ввод/вывод - stdio.h • Работа с файлами fopen, fclose, feof, ferror, fflush • Текстовый ввод/вывод fprintf, fscanf fgetc, fgets, fputs • Бинарный ввод/вывод fread, fwrite • Позиционирование fseek, ftell • Прочее remove, rename
Состав библиотеки • Стандартная библиотека C Все методы стандартных библиотек помещены впространство std Все заголовочные файлы переименованы с префиксом «с» и без расширения. Например <stdlib.h> стал <cstdlib> • STL Стандартная библиотека шаблонов Содержит основные контейнеры и алгоритмы для работы с ними
Standard Template Library • Контейнер Хранение набора объектов в памяти • Итератор Механизм перечисления данных в контейнере • Алгоритм Способы обработки и преобразования данных в контейнерах • Адаптер Надстройка над контейнером • Функтор Сокрытие функции в объекте, связывание
Популярные контейнеры • Линейные контейнеры и адапторы vector, list, deque, stack, queue, priority_queue • Ассоциативные контейнеры map, set, multimap, multiset • Строки string, wstring • Потоковые контейнеры ifstream, ofstream, stringstream
Потоковый ввод-вывод в STL • Объекты файлов ifstream, ofstream • Предопределенные объекты std::cin, std::cout, std::cerr, std::endl • Флаги инициализации • Операции чтения/записи Операторы << и >> • Пользовательские операторы Перегрузка операторов << и >>
Ввод/вывод средствами WinAPI • Объекты ядра Windows • Дескрипторы HANDLE • Метод CloseHandle • Метод CreateFile • Метод ReadFile • Метод WriteFile