为什么 C++ Concepts TS 中同时包含变量和函数概念?

Why have both variable and function concepts in C++ Concepts TS?

我一直在查看在 GCC 6 中实现的 C++1z N4377 Concepts TS 草案,但我不明白拥有两种不同概念的目的:变量概念和功能概念。

函数概念草案的相关部分是[dcl.spec.concept (5.4)]

对于可变概念,在下一段 [(6.3)] :

他们中有没有一个可以做而另一个不能做的事情?如果不是,是否有将两者都包括在内的理由?

注意:最新草案P0121R0在这方面没有任何改变

函数概念可以在不同的模板参数数量上重载。变量概念没有提供函数概念没有的东西,除了在某些上下文中不放置 () 的能力。

从 TS 中删除变量概念不会降低概念的表达能力。