我觉得好奇的是,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