为什么C Concepts TS中有变量和函数概念?
作者:互联网
我一直在研究在GCC 6中实现的C 1z N4377 Concepts TS草案,我不明白有两种不同概念的目的:变量概念和功能概念.
功能概念草案的相关部分是[dcl.spec.concept(5.4)]
>声明的功能体应相当于{return E;其中E是约束表达式(14.10.1.3).
对于可变概念,在下一段[(6.3)]中:
>初始化程序应该是约束表达式.
他们中有什么能做的,对方不能吗?如果没有,是否有理由将两者都包括在内?
注意:最新的草案P0121R0在这方面没有任何改变
解决方法:
函数概念可以在不同的模板参数arity上重载.除了在某些上下文中不放()的能力之外,变量概念不提供函数概念所不具备的功能.
从TS中消除变量概念不会降低概念的表达性.
标签:c-concepts,c,c-ts 来源: https://codeday.me/bug/20190829/1759643.html