微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c – 指定者和限定词之间的相关性?

const和volatile通过C规范称为cv-qualifier.

说明者和限定词(cv-qualifier)之间是完全一致的?一个限定词是一个说明者吗?

是否有必要,限定词只有一个左值?

什么是cv-qualifier以外的限定词?

我以上的理解有什么意义吗?

解决方法

大多数没有意义.

指定者和限定词在C标准中定义.限定词只是说明符的组成部分.例如,声明中的类型说明符可以包括cv-qualifiers.我没有看到原因引用了关于这个话题的标准的一切.

Cv限定词不限于左值.类别的价值也可以是cv-qualified.可以对非类类型的rval进行限定,但它将不起作用,将被忽略.

使用在foo中的示例中显示的const限定词只是一种句法形式,这实际上意味着将const限定符应用于隐含foo方法的此参数:const A * this.即在这种情况下,确实有一个左派价值,但它是*这不是foo.

术语限定词也出现在合格名称的上下文中.名称像some_class :: some_member(或some_namespace :: some_name)称为限定名,而some_class :: part是限定符.

这个想法,如果某物是一个左值,那么你可以修改它是完全不正确的.有可修改的左值和不可修改的左值.声明为const int i = 5的对象是一个左值,但不能修改它.普通函数也是C中的左值,但不能修改函数.

原文地址:https://www.jb51.cc/c/114763.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐