次は何をしますか:
double &number = 12.4;
タイプdoubleの変数への参照を12.4として割り当てる必要があります
ただし、ポインタのアドレスを変数に参照するものではありません。なぜそれが機能するのですか?
double & Getsomenumber()
{
static double number = 12.4;
double &anotherNumber = number;
return anotherNumber;}
これは不正な構文です。Cには参照がありません。
C ++を意味する場合、それも無効です。一時的なものを非const
参照にバインドすることはできません。const double& number = 12.4
動作します。
それで、「なぜそれが機能するのですか?」有効な質問ではありません。Cではなく、C++ではありません。
しかし、ポインタのアドレスを変数への参照ではありません
いいえ。参照は単なるエイリアスです。基本的に、同じ変数を別の名前で参照しています。
あなたがしていることは、実際にはこのように動作するはずです:
const double& number = 12.4;
実際には、 const Expression への参照を なしでは作成できないはずですconst
。