Prevenção de modelos de expressão vinculados a referências rvalue

Entendo que fazer algo como o seguinte:

auto&& x = Matrix1() + Matrix2() + Matrix3();
std::cout << x(2,3) << std::endl;

Causará um erro de tempo de execução silencioso se as operações da matriz usarem modelos de expressão (comoboost::ublas).

Existe alguma maneira de projetar modelos de expressão para impedir que o compilador compile esse código que pode resultar no uso de temporários expirados no tempo de execuçã

(Tentei solucionar o problema sem êxito, a tentativa éaqu)

questionAnswers(4)

yourAnswerToTheQuestion