1
4
标准在8.3.5/3中说 用于确定功能类型 将删除直接限定参数类型的任何CV限定符。也就是说,它字面上说一个函数声明为
具有函数类型
一个学究可能会争辩说,这还不足以证明上述声明应该与这一定义相匹配。
或者它应该使具有双重声明的代码(如您的示例中所示)格式不正确,因为标准中没有用 功能类型 .
我是说,我们都知道这些
实际上,在13.1/3中,它有一个“注释”,表示具有等效参数声明(如8.3.5中定义)的函数声明声明声明 相同的功能 . 但它只是一个注释,它是非规范性的,这意味着在标准的某个地方,在同一问题上应该有一些规范性的文本。 |
2
3
我认为这基本上是禁止的:
非引用上的常量不参与重载。 实际上你甚至可以申报
然后定义
其中consstness纯粹是一个调用方不关心的实现细节。 |
3
2
与以下内容相同:
与来电者相同。这是因为无论什么函数都按值获取副本,所以调用方不关心它是否被认为是
它是
不
对于编译器来说,忽略这样的事情是合法的,但是在重载解析上没有区别。这个
如果编译器处理以下内容,则为非法:
同样,忽略
|
4
1
我相信是相反的。任何指针,甚至是非指针,都可以被视为const:。 |
Oded S · 带有运算符重载函数的c++17求值顺序 7 年前 |
Menachem · 如何在解码Base64字符串时处理错误 7 年前 |
EFanZh · 有符号整数和无符号整数之间的转换 8 年前 |
nickcoxdotme · 关注点的角度和语义标记/分离 11 年前 |