const int* const fun(const int* const& p) const;
我正试图弄清楚这个给定函数原型的输入参数。我在这两者之间进行辩论,不确定哪一个是正确的。
答案 0 :(得分:3)
你所拥有的是对常量整数的常量指针的引用。
答案 1 :(得分:2)
p
是对const int
的const指针的引用。
引用本身不是const
- “const引用”只是对const对象的引用。因此,“对const int的指针的const引用”将被理解为意思相同。
答案 2 :(得分:1)
输入是一个const引用,它引用一个const int指针。因此引用是常量,指针是常量,但它指向的值可以改变。
不正确。参数p
无法更改为指向其他对象。 p
指向的对象的值也不能更改。
输入是const int指针的const引用,指向一个常量整数。
排序。
p
是对指针指向const整数的const指针的引用。
答案 3 :(得分:0)
输入是const指针的引用,指向const整数。
const int* const& p
第一个const表示int对象本身是常量且无法更改。第二个const表示无法更改该int上的指针。然后你看到它是一个参考。您可以为引用添加一个const,它将进行编译。像那样:
const int* const& const p
答案 4 :(得分:0)
const int* const& P
P是一个引用(不是常量引用,因为引用始终是常量)到一个指向常量整数的常量指针。
第一个常数是整数&第二个是指针(不是参考)。没有必要传递常量指针的引用,因为它仍然是常量。