范围TS:相同的概念与std :: is_same不同?

时间:2017-03-29 19:53:19

标签: c++ language-lawyer c++-concepts

我正在浏览Ranges TS documentation on cppreference.com,在Same概念的条目中,我遇到了这句话:

  

出于约束检查的目的,Same<T, U>()暗示Same<U, T>()

并注意:

  

约束检查的附加要求将Samestd::is_same区分开来,并且通常需要编译器内在实现。

这让我觉得有点奇怪,所以我决定查看Ranges TS paper,当然,它说:

  

备注:出于约束检查的目的,Same<T, U>()暗示Same<U, T>()

(但是,Casey Carter的STL2实现does use std::is_same,可能是因为所需的编译器内在函数尚未存在。)

所以我的问题是,这个要求究竟是什么&#34; Same<T, U>()暗示Same<U, T>()&#34;实际上意味着std::is_same<T, U>std::is_same<U, T>有何不同?

0 个答案:

没有答案