我遇到了具有此签名的函数。通过引用传递数组参数
void foo(char (&x)[5])
{
}
这是为了通过引用传递一个固定大小的字符数组的语法。
事实上,它需要围绕&x
括号引起我的不寻常。
它可能是C++ 03标准的一部分。
什么是这种形式调用,任何人都可以指出一个标准的参考?
C++东方电气是不是朋友尚未:
$ c++decl
Type `help' or `?' for help
c++decl> explain void foo(char (&x)[5])
syntax error
我不能指向标准,但我相信这是因为'char&x [5]'是一个包含5个字符引用的数组,而不是对长度为5的字符数组的引用。 –
'C++ decl'是你的朋友:-) –
8.3.2参考文献“应该没有引用的引用,没有引用的数组,也没有引用的指针。” –