繁体   English   中英

概念(C++20)可以用作 boolean 吗?

[英]Can concepts(C++20) be used as a boolean?

using T = decltype(std::same_as<int, double>)我在 VS2019 上试过这个。 事实证明T = bool

这是由标准定义的,还是只是特定编译器的属性? 我还没有找到任何关于它的官方信息.. https://en.cppreference.com/w/cpp/concepts

std::same_as<int, double>这样的概念 ID像表达式一样被评估。 它产生一个bool类型的纯右值。

[临时名称]

8概念 ID 是简单模板 ID,其中模板名称是概念名称。 概念 ID 是 bool 类型的纯右值,并且不命名模板特化。 如果指定模板 arguments 满足概念的规范化约束表达式 ([temp.constr.constr]),则概念 ID 评估为真,否则为假。

所以decltype正确地报告了它。 在表达式中,它是一个bool

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM