2013-03-17 96 views
-3

什么下列操作:C:初始化参考变量双

double &number = 12.4; 

应该分配参考double类型的变量12.4

,但不是变量的引用地址的指针。它为什么有效?

double & Getsomenumber() 
{ 
    static double number = 12.4; 

    double &anotherNumber = number; 

    return anotherNumber;} 
+0

该函数具有返回对本地对象的引用的问题。只要函数返回,值就消失了。 – 2013-03-17 19:45:28

+0

是啊..................... – user1938465 2013-03-17 19:46:39

+0

C?有参考?没门... – 2013-03-17 20:16:33

回答

3

这是非法的语法,也有C.

没有引用如果你的意思是C++,那么这也无效,则不能绑定临时变量到非const引用。 const double& number = 12.4会工作。

所以“为什么它的工作?”不是一个有效的问题 - 它不是,不适用于C,不适用于C++。

,但不是变量的引用指针

号的地址的引用只是一个别名 - 您是通过不同的名称基本上指的是同一个变量。

0

,你在做什么,实际上应该以这种方式工作:

const double& number = 12.4; 

其实你不应该能够在不const创建一个常量表达式的参考。