??? 當引用的初始式是一個左值(是一個對象,你可以取得他的地址)時,其初始化就是非常簡單的事情。普通T&的初始式必須是一個T類型的。而cosnt T&則不必是一個左值,甚至可以不是T類型的。在這樣的情況下,經過以下幾個步驟。
??? (1)首先,如果需要的話,將應用到類型T的隱式類型轉換。
????(2)而后,將結果存入一個類型T的臨時變量。
??? (3)最后,將此臨時變量用作初始化的值。
例如
double& d=1;? //錯誤,初始式必須式左值
const double& cd=1;? //ok
對后一個初始化的解釋是:
double temp=double(1);?? // 首先建立一個具有正確數據類型的臨時變量
const double& cd=temp;? //而后用這個臨時變量作為cd的初始式
posted on 2007-01-15 11:03
探丫頭 閱讀(1718)
評論(1) 編輯 收藏 引用 所屬分類:
編程語言——C++