istreamoperator>>
には、既存のオブジェクトへの参照が必要です。つまり、彼らがしているのはインプレース構築ではなく割り当てですよね?
さて、どうすれば最初の建設をスキップできますか?コンパイラーはそれを最適化して取り除くことができるかもしれませんが、必要のないパラメーターを提供する必要があるかもしれません。これは istreams で行うことができますか?
... 私は、言うことができるようにしたいと思います,
template <typename T> void emplace_from(std::istream stream, T* place);
T のすべてのタイプでstream >> my_t_variable
動作します。確かに、この関数宣言は少し醜いように見えますが。