Кто-нибудь может предложить способ определения различий в поддержке c ++ 11 при использовании libc ++ и libstdc ++, которые поставляются с компилятором Apple LLVM?
В частности, в настоящее время я использую LLVM 4.1, который поставляется с Xcode 4.5.2.
Предположительно, ответ частично зависит от уровня поддержки c ++ 11, предлагаемого clang для этой версии, а частично от версии libc ++ и libstdc ++, поставляемых с 4.1.
Мой общий смысл состоит в том, что поддержка c ++ 11 в наши дни «почти завершена» при использовании libc ++, но вы теряете что-то при переходе на libstdc ++, но я не могу понять, что — некоторые простые функции c ++ 11 кажутся хорошо работать на обоих.
Я чувствую, что поддержка c ++ 11 для libstdc ++, которая поставляется с gcc 4.8, довольно хороша, но я понятия не имею, устарела ли libstdc ++, которая поставляется с llvm 4.1, или нет.
Кроме того, я понимаю, что нет никакой разницы в уровне поддержки c ++ 11 (при использовании llvm 4.1 с libc ++) при компиляции для osx или ios 6.01, но я не уверен.
Любые предложения о том, как все это выяснить?
[Контекст: из-за зависимостей вверх по течению, мне может понадобиться ссылка на libstdc ++ вместо libc ++, поэтому я хочу выяснить, что я могу потерять]Libstdc ++, который поставляется с LLVM 4.1, — это gcc-4.2. Эта версия не имеет поддержки C ++ 11. Тем не менее, он имеет некоторую поддержку tr1.
Кроме того, лучший способ проверить C ++ 11 язык особенности использования Clang’s has_feature
макро тест.
Для функций библиотеки C ++ 11 вам нужно использовать libc ++.
Других решений пока нет …