首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么C++11没有整合Boost的所有类型特征?

为什么C++11没有整合Boost的所有类型特征?
EN

Stack Overflow用户
提问于 2013-06-27 02:50:01
回答 2查看 433关注 0票数 5

正如你所知道的,Boost有很多类型特征。C++11将其中一些引入了标准,例如is_pointeris_base_of

还有其他的,比如has_greaterhas_greater_equal,C++11没有整合进来。为什么不行?是否有计划将它们包含在下一个标准中?标准委员会或Bjarne Stroustrup有没有关于这方面的论文?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-27 03:37:54

C++11于2011年8月获得批准。在2011年11月发布的1.48.0版本中,添加了操作员检测以增强类型特征。

我不相信任何人为C++14提出了它们,这现在已经冻结了。如果有人建议C++17使用它,那就太好了。

票数 11
EN

Stack Overflow用户

发布于 2013-06-27 03:07:30

我不知道这是否适用于S.O. (可能更适用于程序员?)无论如何,Boost和ISO是两个非常不同的东西。“标准”是指语言“是”什么,它包含了为任何目的描述语言所需要的东西。Boost是一个“扩展”特定问题功能的库。

Boost委员会对代码的“质量”(而不是其主题)进行操作,标准对“分布”(假设质量给定)进行操作。并不是所有“好”的东西都是“普通”的。当boost被发现足够普遍时,它所做的事情就会出现在标准中。而不是像boost那样去做。它以编译器发行商必须满足的规范的形式出现。

Boost是以许多编译器都可以使用的方式编写的。标准库的编写方式是,它附带的编译器(或它附带的编译器系列)能更好地处理它(实际上有一个数字,因为编译器系列可能在那里)。这种优化和最终的低级别调整是不同的。

事实上,一些boost库成为标准的一部分并不是一个自动的结果。这只是一个巧合的问题,在几乎任何代码中都需要一些“好想法”。

也就是说,你的意图不一定是错的:它可能会发生在你问的特定主题上。但是没有从boost到标准的“迁移过程”,也没有在boost之前需要的标准前提条件。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17328152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档