再配置が行われるものに参照使って、その生存期間を超えてアクセスするのは未定義動作になるわな。C++に慣れてればそんなコードは書かないが、初級者向けではない。readonly より、lifetime の問題でしょう