2015-03-03 5 views
1

У меня очень наивный вопрос относительно общих математических функций C++.Общие математические функции в C++

математические функции, перечисленные здесь http://en.cppreference.com/w/cpp/numeric/math

они GLibC функции или просто имена высокого уровня, которые могут быть реализованы по-разному? Правильно ли я понимаю, что ссылка выше указывает только интерфейс, который все Компиляторы C++ должны следовать? Благодарю.

ответ

3

Те, что на этой странице являются частью C++ standard (ссылка идет на рабочий проект ноября 2014 года), либо уникальны для C++, либо являются частью включенных функций библиотеки C. Конкретные заголовки (перечисленные на этой странице) для этих функций и их соответствующие разделы:

  • cstdlib: Раздел 26,8 (С. 1004-1008.)
  • cinttypes:. Раздел 27.9.2.3-4 (стр 1093 -1094)
  • cmath:. Раздел 26,8 (с 1004-1008)
  • numerics (на вкладке Числовые Library):. Раздел 26,7 (стр 1001-1004)

в первую очередь они определены в разделе 26. Стандарт определяет поведение этих функций на высоком уровне, различные свойства и идентификаторы и т. д., хотя не указывает детали реализации низкого уровня, такие как требования к точности и т. д. Многие из описаний функций библиотеки C откладываются на стандарт C с примечаниями только на C++ - конкретные изменения.

Они будут объявлены в стандартных заголовках C++ на вашей системе и реализованы где-то доступным для вас.

Обратите внимание, что glibc - это библиотека времени выполнения C, используемая многими Unix-подобными системами, это всего лишь реализация на платформе определенных функций времени выполнения C. Он реализует некоторые из этих функций для систем, которые используют glibc.

Кстати, чтобы выбрать нит, данная ссылка не указывает ничего, это только документы. Спецификация дается в самом стандарте; надеюсь, что документация, такая как то, с чем вы связаны, хорошо поддерживается и правильна.

1

Эти функции находятся в пространстве имен std, которые составляют стандартную среду выполнения C++, и вы найдете их в значительной степени для каждого дистрибутива компилятора.

У них нет ничего с glibc, который является отдельной библиотекой GNU C.

Смежные вопросы