在注视GCC 4.9.0版本改变了这里,我惊喜地阅读以下内容; C ++的“新语言和特定于语言的改进”部分下:
G ++支持不受约束的泛型函数,如N3889:Concepts Lite规范的§4.1.2和§5.1.1所指定。简而言之,可以在任何函数声明器的参数声明中将auto用作类型说明符,以引入类似于通用lambda的隐式函数模板参数。
// the following two function declarations are equivalent
auto incr(auto x) { return x++; }
template <typename T>
auto incr(T x) { return x++; }
我构建了GCC 4.9.0,并且我的初始测试按预期工作。我相信Concepts Lite仍将以某种方式辅助即将到来的C ++ 14规范。是否有计划使“无限制的泛型函数”成为C ++的一部分?
如果我们看一下最新的草案标准N3936,它非常接近于C ++ 14 DIS N3937
(N3938对此进行了介绍)。它不包含任何章节规定的语言4.1.2
和5.1.1
的N3889
。
因此,对于C ++ 14来说,答案似乎是否定的,但是Bjarne Stroustrup表示,lite Lite将是一份技术报告。您可以在ISO cpp的“当前状态”页面上找到有关技术报告的更多信息,该页面显示:
除了C ++ 14之外,该委员会还计划在2017年左右制定另一个C ++标准。但这并不意味着在此期间什么也没有发生,因为我们目前正在进行八(8)个单独的技术规范,其中一些正在实施中该委员会将于2014年和2015年发布。从2012年开始,委员会已过渡到“分离”模型,其中主要工作可以独立于标准本身而进行,并作为独立的TS交付。供应商可以选择实施这些功能,社区可以使用每种功能的std :: experimental版本获得经验。这使我们能够根据经验学习和调整每个功能的设计,然后才将其正式包含在实际的C ++标准的未来版本中
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句