В следующей функции-члене есть ли вообще какое-либо преимущество для объявления значений cc, dd, ee и ff с &&?
void doStuff(double& aa, const size_t& bb) const {
const double&& cc = 2*bb;
const double&& dd = 2*sumT_;
const double&& ee = sumTsq_ - scaledTSq_;
const double&& ff = dd*dd - 2*cc*ee;
aa = (ff >= 0) ? (dd + sqrt(ff))/cc : std::numeric_limits<double>::infinity();
}
Почему не просто const double?





Ты прав. Нет разницы в стоимости между перемещением и копированием для удвоения.
Рассмотрите возможность вычисления первой «константы» как
double cc = 2.0 * bb;, чтобы избежать возможного переполнения.