2013-06-10 31 views
9

私が求めているのは、ウェブ上に矛盾した情報があるからです。一方では、isocpp.orgには、GCC 4.8.1に完全に実装されたC++ 11標準があることが記載されています。一方、GCC C++11 support pageには、「ガベージコレクションとリーチャビリティベースのリーク検出を最小限サポートしている」とは記載されていません。 GCC 4.8.1は本当にC++ 11の機能が完了したのですか?gcc 4.8.1にガベージコレクションのC++ 11サポートがありますか?

+2

ガベージコレクションはオプションではありませんか? –

+4

Gcc 4.8は、コア言語レベルのC++ 11に完全に準拠しているため、ライブラリの実装がC++ 11に完全に準拠しているわけではありません。 –

+5

@Mechanicalsnail:GCはオプションで、GCの最小限のサポートはなく、gccから抜けています。4.8 –

答えて

12

ガベージコレクションのサポートは、標準ではオプションです(Bjarne Stroustrup C++11 FAQ参照)。したがって、GCC 4.8.1は、標準のすべての必須コア部分を実装しているため、機能が完備されています。

コメントは私の答えが不明であることを証明しました、私はより具体的になります:私はガベージコレクションのコアサポートについて話していました。ライブラリの部分は必須です。 GCC 4.8.1に同梱されているlibstdC++のバージョンは、完全にC++ 11に準拠していません(例えば<regex>は現在動作していません)。また、ガベージコレクションのABIは欠落している機能の一部です。

+1

+1、[提案N2670](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2670.htm)を参照してください。*ガベージコレクションと実装をサポートしない実装ここでno-opsとして記述されているすべてのライブラリコールは適合しています。* – syam

+5

GCを提供することはオプションです。 gcc C++ 11ステータスのエントリは、GCの* support *を参照しており、実装されていません。つまり、上記のSyamのコメントを使用しています:GCを実行することはオプションです(呼び出しは非操作にすることもできます)が、インターフェイスは存在する必要があります(これはオプションではありません) –

関連する問題