1

Visual Studio2010に付属しているc++標準ライブラリのバージョンから、ヘッダーのc++11標準[26.8c.math]で指定されたテンプレートが欠落していることに気づきました。<cmath>

特にstd::signbitを探していましたが、msdnを検索すると、出荷されたヘッダー(つまり、「古い」C名のみをインポートする一連のusingディレクティブ)に表示されているものが確認されました。この標準からの逸脱について読んだことを思い出せませんでした。また、msdnのドキュメントで明示的に指摘されていません。

不足している機能を取得するための最良の回避策は何ですか?

Visual Studioの将来のリリースでこれを修正することについての公式のコミュニケーションはありますか?

編集 私が参照していた標準のバージョンは古くなっているので、不完全であるという私の主張は狙いを定めていません。signbitはまだありませんが、テンプレートではなく、オーバーロードされた関数です。明確化してくれた@Xeoに感謝します。

4

1 に答える 1

2

まず、これらはテンプレートではありません<cmath>(Cにはテンプレートがなく、Cヘッダーであるため、奇妙なことになります)。

その後、VS2010はC ++ 11が終了する前に出荷されたため、すべてのstdlibがそこに含まれているわけではないことは理解できます

FWIW、VS11は、C ++11stdlib全体がカバーされていると主張しています。

于 2012-02-06T13:32:07.077 に答える