1

我刚刚注意到,Visual Studio 2010 附带的 c++ 标准库版本中缺少由c++11 标准[26.8 c.math]规定的标头模板。<cmath>

特别是我一直在寻找 std::signbit 但在 msdn 上的搜索证实了我在随附的标头中看到的内容(即,一系列仅导入“旧”C 名称的 using 指令)。我不记得阅读过这种与标准的偏差,也没有在 msdn 文档中明确指出。

获得缺失功能的最佳解决方法是什么?

在 Visual Studio 的未来版本中是否有一些关于修复此问题的官方沟通?

编辑 我所指的标准版本已经过时,所以我声称不完整是不正确的。仍然缺少符号位,但它不是模板,而是重载函数。感谢@Xeo 的澄清。

4

1 回答 1

2

首先,这些不是模板(会很奇怪,因为 C 中没有模板并且<cmath>是 C 标头)。

然后,VS2010 在 C++11 完成之前就已经发布,所以可以理解的是,并非所有的 stdlib 都包含在其中。

FWIW,VS11 声称覆盖了整个 C++11 标准库。

于 2012-02-06T13:32:07.077 回答