decltype(void())中的void()到底是什么意思?

天顶

这是问题的后续活动,更确切地说是答案的评论

什么是void()decltype(void())代表什么呢?
它代表函数类型,表达式还是其他?

Yakk-亚当·内夫罗蒙特

使用超链接的C ++语法,解析decltype(void())为:

decltype( expression )
decltype( assignment-expression )
decltype( conditional-expression )

...许多涉及操作顺序的步骤都在这里...

decltype( postfix-expression )
decltype( simple-type-specifier ( expression-listopt ) )
decltype( void() )

所以void()是一种expression在这里,尤其是postfix-expression

具体来说,引用2011 ISO C ++标准的5.2.3 [expr.type.conf]节第2段:

表达式T(),其中,T是一种简单类型说明符类型名称说明符用于非阵列的完整对象类型或(可能CV-合格)void类型,创建指定的类型,这是值初始化(8.5的prvalue;无初始化完成void()情况)。

所以void()是类型的表达式void,就如同int()是类型的表达式int(具有值0)。显然,void表达式没有任何值,但是这里是的操作数decltype,因此不对其进行求值。decltype仅引用其操作数的类型,而不是其值。

decltype(void())只是简单的引用类型的方法void

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在B树中,“键”到底是什么意思?

来自分类Dev

iptables中的lo到底是什么意思?

来自分类Dev

在CUDA PTX中,%warpid到底是什么意思?

来自分类Dev

'$ scope'角度可变中的'$'到底是什么意思

来自分类Dev

* NSFileProtectionComplete *到底是什么意思?

来自分类Dev

“分支”到底是什么意思?

来自分类Dev

authTokenType到底是什么意思?

来自分类Dev

IQueryable到底是什么意思?

来自分类Dev

开源到底是什么意思?

来自分类Dev

(void)在c ++中是什么意思?

来自分类Dev

void(*)()在代码中是什么意思

来自分类Dev

C中的void *(* routine)(void *)是什么意思?

来自分类Dev

Swift中的void->(void)是什么意思?

来自分类Dev

Python 烧瓶路线:什么是“?” 到底是什么意思?

来自分类Dev

“带外库”到底是什么意思?

来自分类Dev

闭包到底是什么意思?

来自分类Dev

这个标志到底是什么意思?| =

来自分类Dev

TE和NT到底是什么意思

来自分类Dev

“服务静态文件”到底是什么意思?

来自分类Dev

整数基数,这到底是什么意思?

来自分类Dev

SE_ERR_ASSOCINCOMPLETE到底是什么意思?

来自分类Dev

<puts @ plt>到底是什么意思?

来自分类Dev

`int const a [5]`到底是什么意思?

来自分类Dev

最大似然估计到底是什么意思?

来自分类Dev

“初始化”到底是什么意思?

来自分类Dev

[decl.constexpr] .5到底是什么意思?

来自分类Dev

XML模式组件maxLength到底是什么意思?

来自分类Dev

这条线到底是什么意思?

来自分类Dev

私有变量到底是什么意思?