Запретить привязку шаблонов выражений к ссылкам rvalue

Я понимаю, что делать что-то вроде следующего:

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

Будет вызывать тихую ошибку времени выполнения, если матричные операции используют шаблоны выражений (такие какboost::ublas).

Есть ли способ разработки шаблонов выражений, чтобы компилятор не компилировал такой код, который может привести к использованию временных файлов с истекшим сроком действия во время выполнения?

(Я безуспешно пытался обойти эту проблему, попыткаВот)

Ответы на вопрос(2)

Ваш ответ на вопрос