2013-06-25 51 views
1

但是,在C++ 11中有一些很好的功能,但是我想将它们中的一部分移植到旧的C++代码中,那么可用的某些函数的源代码是什么?像std :: to_string?我只是想知道他们是如何做到的。看看如何实现C++ 11功能

谢谢!

+5

检查标准库实现的来源。 – jrok

+6

使用'boost',大部分新功能首先在boost中实现。看'boost :: lexical_cast'它应该接近'std :: to_string'。 – andre

+2

@andre:不,远离它。 'boost :: lexical_cast'使用stringstreams,适用于所有重载相应运算符的类型,而'std :: to_string'只适用于基本类型并使用'sprintf'。 – Xeo

回答

4

C++ 11规范的实现细节取决于您对标准库的选择。例如,libc++ for LLVMlibstdc++ for GCC

您可以查看这些库的来源以找到您所寻找的内容。请注意,实现C++ 11功能的某些代码可能依赖于比目标更新的语言功能,因此有可能它不会是直接的复制粘贴。

此外,请记住尊重您借用的任何图书馆的许可条款。