在llvm的编译器实现教程(例如这里)llvm::make_unique中使用.他们没有使用的原因是什么std::make_unique?我无法找到任何明确的文件.
LLVM使用符合C++ 11的代码编写,而std :: make_unique是C++ 14功能.所以如果他们想要make_unique他们需要实现它.
LLVM,Clang和LLD 目前使用符合C++ 11的代码编写,尽管我们仅限于主机编译器支持的主要工具链中提供的功能.LLDB项目在支持的主机编译器集中更具攻击性,因此使用了更多功能.无论支持的功能如何,代码(合理的)都应该是标准的,可移植的和现代的C++ 11代码.我们避免不必要的供应商特定扩展等.
我们可以从cppreference看到这std::make_unique是一个C++ 14特性.如果他们想使用make_unique那么他们就不能使用std版本.
我们可以从最近的llvm-dev讨论中看到,转向C++ 14仍然是一个开放的主题.