Соглашения библиотеки C++
Библиотека C++ повинуется много аналогичным соглашениям как стандартная библиотека C, а также несколько более структура здесь.
Реализация имеющий широту в ее объявляет типы и функций в библиотеке C C++:
Имена функций в стандартной библиотеке C могут иметь или # extern " C» ++ или компоновку extern «C». Включить заголовок C — соответствующий стандарту вместо объявите сущность библиотеки последовательно.
Имя функции-члена класса библиотеки может иметь дополнительные сигнатуры функции над теми параметрами, перечисленными в этом документе. Можно уверено, вызов функции описанный здесь работает, как ожидалось, но не всегда, чтобы получить адрес функции-члена библиотеки. (Тип не может отличаться от ожидаемого).
Класс библиотеки могут иметь незадокументированные (невиртуальная) базовые классы. Класс задокументировано, как производно от другого класса может, на самом деле, быть получен из этого класса с помощью незадокументированные другие классы.
Тип, определенный синонимом некоторого целого типа может быть таким же, как один из нескольких разных целочисленных типов.
Тип битовой маски можно реализовать как типом или типом или перечисление. В любом случае можно выполнять побитовые операции (например, AND и OR) на значения одного типа битовой маски. Элементы A и B типа битовой маски ненулевые значения так, что A &B ноль.
Функция библиотеки, которая не имеет спецификации исключений может создавать произвольное исключение, если ее определение, не ограничивает количество такую возможность.
С другой стороны, некоторые ограничения:
Библиотека C стандарта не использует маски макросов. Только сигнатуры определенной функции, не зарезервированные имена сами функций.
Имя функции библиотеки вне класса не будет иметь дополнительное недокументированный, сигнатура функции. Всегда можно сделать его адрес.
Базовые классы и функции-члены, как виртуальный виртуальный разумеется, а те, как невиртуальная конечно невиртуальная.
2 Типа, библиотекой C++ всегда другие, если этот документ явным образом предлагать в противном случае.
Функции, предоставляемые библиотекой, включая версии по умолчанию меняемых функций, может быть создано не более те исключения, перечисленные в любой спецификации исключений. Нет деструкторы предоставленные библиотекой не вызывают исключений. Функции в стандартной библиотеке C могут распространяться исключение, после qsort вызывает функцию сравнения, возникает исключение, но они иначе создает исключения.