gpt4 book ai didi

c++ - 说明符和限定符之间的相关性?

转载 作者:IT老高 更新时间:2023-10-28 23:19:10 27 4
gpt4 key购买 nike

constvolatile 被 C 规范称为 cv-qualifier

specifierqualifier (cv-qualifier) 之间到底有什么区别?限定符也是说明符吗?

qualifier 是否必须只有左值?

除了cv-qualifier还有什么限定符?

我上面的理解有意义吗?

最佳答案

大部分都没有意义。

Specifierqualifier 在 C++ 标准中定义。 限定符只是说明符的一个组成部分。例如,声明中的类型说明符可以包含cv-qualifiers。我看不出有什么理由引用标准中关于这个主题的所有内容。

Cv 限定符不限于左值。 class 类型的右值也可以是 cv 限定的。可以对非类类型的右值进行 cv 限定,但它不会产生任何效果并会被忽略。

const 的使用您在示例中使用 foo 显示的限定符只是一种语法形式,实际上意味着 const 限定符应用于隐含的 this foo 的参数方法:const A* this . IE。在这种情况下,它确实限定了一个左值,但它是 *this ,而不是 foo .

术语限定符也出现在限定名称的上下文中。名称如 some_class::some_member (或 some_namespace::some_name )称为限定名称,而 some_class::部分是一个限定符

如果某个东西是左值,那么你可以修改它的想法是完全错误的。有可修改左值和不可修改左值。声明为 const int i = 5 的对象是一个左值,但你不能修改它。普通函数在 C++ 中也是左值,但不能修改函数。

关于c++ - 说明符和限定符之间的相关性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3610943/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com