Отсутствующие шаблоны из заголовка `<cmath>` в VS 2010

Я только что заметил, что шаблоны, продиктованные стандартом C++11 [26.8 c.math] для <cmath> заголовок отсутствует в версии стандартной библиотеки C++, поставляемой с Visual Studio 2010.

В частности, я искал std::signbit, но поиск по msdn подтвердил то, что я видел в отправленном заголовке (а именно, серию директив using, которые импортируют только "старые" имена C). Я не вспомнил, что читал об этом отклонении от Стандарта, и об этом явно не говорится в документации MSDN.

Как лучше всего обойти отсутствующие функции?

Есть ли официальное сообщение об исправлении в будущем выпуске Visual Studio?

РЕДАКТИРОВАТЬ Версия стандарта, на которую я ссылался, устарела, поэтому мое требование о неполноте является недобросовестным. signbit по-прежнему отсутствует, но это не шаблон, это перегруженная функция. Спасибо @Xeo за разъяснения.

1 ответ

Решение

Во-первых, это не шаблоны (было бы странно, так как в C нет шаблонов и <cmath> заголовок C).

Затем VS2010 был выпущен задолго до того, как C++ 11 был закончен, поэтому понятно, что не все stdlib включены туда.

FWIW, VS11 утверждает, что покрыл весь C++ 11 stdlib.

Другие вопросы по тегам