C ++ 14是否支持不受约束的泛型函数?

用户名

在注视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 ++的一部分?

沙菲克·雅格慕(Shafik Yaghmour)

如果我们看一下最新的草案标准N3936,它非常接近于C ++ 14 DIS N3937N3938对此进行了介绍)。它不包含任何章节规定的语言4.1.25.1.1N3889

因此,对于C ++ 14来说,答案似乎是否定的,但是Bjarne Stroustrup表示,lite Lite将是一份技术报告您可以在ISO cpp的“当前状态”页面上找到有关技术报告的更多信息,该页面显示:

除了C ++ 14之外,该委员会还计划在2017年左右制定另一个C ++标准。但这并不意味着在此期间什么也没有发生,因为我们目前正在进行八(8)个单独的技术规范,其中一些正在实施中该委员会将于2014年和2015年发布。从2012年开始,委员会已过渡到“分离”模型,其中主要工作可以独立于标准本身而进行,并作为独立的TS交付。供应商可以选择实施这些功能,社区可以使用每种功能的std :: experimental版本获得经验。这使我们能够根据经验学习和调整每个功能的设计,然后才将其正式包含在实际的C ++标准的未来版本中

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否可以在C ++中将具有多个参数的泛型函数作为类中的朋友?

来自分类Dev

使用C ++ / CLI从泛型函数返回泛型列表

来自分类Dev

将任何泛型函数作为C ++参数传递

来自分类Dev

如何在C#中编写泛型函数?

来自分类Dev

C#关于泛型函数的更特定版本

来自分类Dev

在C#中强制转换泛型函数类型参数

来自分类Dev

将任何泛型函数作为C ++参数传递

来自分类Dev

如何在C#中将受约束的泛型类型的Action委托存储在类型安全的集合中?

来自分类Dev

如何在C#中将受约束的泛型类型的Action委托存储在类型安全的集合中?

来自分类Dev

C#泛型函数-另一个泛型的扩展

来自分类Dev

泛型函数和新约束

来自分类Dev

泛型函数和新约束

来自分类Dev

使用受约束的泛型类型不受限制地传递的泛型类型

来自分类Dev

添加const泛型时的“不受约束的泛型常量”

来自分类Dev

添加const泛型时的“不受约束的泛型常量”

来自分类Dev

从函数和方法中返回受约束的泛型

来自分类Dev

泛型函数,可以接受参数C ++中的任何类成员

来自分类Dev

c#从泛型函数中获取一个空列表,而不是null

来自分类Dev

泛型函数,可以接受参数C ++中的任何类成员

来自分类Dev

C-泛型函数:交换数组中的两个项目

来自分类Dev

OS X 10.7 libc ++是否支持c ++ 14?

来自分类Dev

将F#泛型函数约束为并集类型?

来自分类Dev

如何从函数返回不受约束的二维数组的记录

来自分类Dev

在C中使用Curl的不受支持的协议

来自分类Dev

是否可以在C#泛型方法中定义“ not Nullable <T>”约束?

来自分类Dev

泛型函数重载

来自分类Dev

Delphi泛型函数

来自分类Dev

泛型函数?

来自分类Dev

Kotlin泛型函数

Related 相关文章

热门标签

归档