我覺得好奇的是,const_cast不允許將一個右值(例如一個臨時變量)轉換爲一個const限定的引用,儘管static_cast可以很好地工作。有沒有人有解釋爲什麼這樣表現?const_cast一個右值const const
const_cast< const std::string & >(std::string("hello")); // doesn't compile
static_cast< const std::string & >(std::string("hello")); // compiles
請讓我們不要進入「的const_cast是邪惡的」的說法,我想在這裏做的是正確理解C++標準與const_cast會和右值處理的部分。
謝謝,我覺得讓我感到困惑的部分是,我不知何故預計演員陣容會造成一個右值。 – Drealmer