4.6.3 引用的使用限制

    关于引用,以下用法是非法的。

    1.不能建立数组的引用

    数组是由若干个元素所组成的集合,无法建立一个数组的别名。

    2.声明一个引用的引用

    尽管可以用诸如“int**ppInt;”的形式声明一个指向指针的指针,但声明引用的引用是非法的,如下所示。


    int&&refNum=num;3.声明指向引用的指针 int&*pNum=num;上述代码企图声明一个指向引用的指针,编译器将指出这是非法的。应注意的是声明指针的引用是允许的。虽然有点拗口,但“指向引用的指针”和“指针的引用”是不同的概念,如下所示。 int*&refPnum=pNum;//pNum为一个int型的指针,指针的引用合法

    仅仅是*和&顺序不同,代码的意义却大不相同。

    正是由于这诸多限制,才将引用这个工具的威力控制得恰到好处,可以把指针比作一把能削铁,能砍瓜切菜,还能剪指甲的刀,使用这把刀是十分危险的,它有很强的破坏性,搞不好要割破手指流血的,须格外小心。而加了诸多限制的引用,它则是把称心的工具,尤其体现在函数值的传递引用及调用上,关于这部分内容的介绍请参考第6章的内容。