概念(C++20)可以用作布尔值吗? [英] Can concepts(C++20) be used as a boolean?

查看:48
本文介绍了概念(C++20)可以用作布尔值吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

using T = decltype(std::same_as<int, double>) 我已经在VS2019上试过了。结果是T = bool

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

推荐答案

AConcept-idLikestd::same_as<int, double>像表达式一样求值。它会生成bool类型的pr值。

[临时名称]

8概念ID是简单模板ID,其中模板名称为 一个概念名称。Concept-id是bool类型的pr值,而不是 命名模板专业化认证。属性,则概念id的计算结果为真 满足概念的规范化约束表达式 ([temp.constr.conr])通过指定的模板参数和FALSE 否则。

因此decltype报告正确。在表达式中,它是bool

这篇关于概念(C++20)可以用作布尔值吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆