c++ - 如何让 C++0x/C++11 风格的基于范围的 for 循环与 clang 一起使用?

标签 c++ for-loop clang c++11

我一直在使用 gcc w/-std=c++0x 来利用 C++0x/11 中基于范围的 for 循环,如下所示:

for (int i : container) ...

我最近尝试了 clang (clang+llvm-2.9-x86_64-apple-darwin10),但开箱即用的这些语句是编译错误。根据http://clang.llvm.org/cxx_status.html它受到支持。我尝试在命令行上添加 -stdlib=libc++ ,但随后出现错误,提示未找到 iostream header 。我需要做什么才能让 clang 使用 C++0x/11 功能?

最佳答案

这里的 secret 是 LLVM 2.9 不支持基于范围的 for 循环。该文档对应于 LLVM/Clang 主线。要获得基于范围的 for 循环,请查看主线 SVN 中的 LLVM/Clang:http://clang.llvm.org/get_started.html

libc++ 对于 C++'0x ('11!) 库支持很有用,但如果您想在 C++'0x 语言功能之上使用其功能,则还必须对其进行设置。有关如何设置的信息,请参阅:http://libcxx.llvm.org/

关于c++ - 如何让 C++0x/C++11 风格的基于范围的 for 循环与 clang 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7314891/

相关文章:

c++ - getline() 后的 For 循环不执行

visual-studio-code - 如何将参数传递给 VSCode launch.json 文件中为 lldb 指定的可执行文件?

c++ - SWIG: 'module' 对象没有属性 'Decklist'

c++ - 如何更改 libwx_gtk2ud_richtext-2.8 的名称

c++ - 根据平台从多个结构定义中选择

c - 严格别名违规 : Why gcc and clang generate different output?

c++ - xcode ld : 8 duplicate symbols for architecture x86_64

c++ - Windbg 问题为用户定义的可执行文件加载 pdb

Angular 5 ngfor同时让两个变量

javascript - 如何向 <li> javascript 添加多个跨度