今回は前回の逆で、バイナリファイルから変数を読み込みます。実際にはバイナリファイルというよりバイナリストリームからの読み込みになります。ファイルから読み込む場合はstd::fstreamなどを使えばいいでしょう。
| 0 1 2 3 4 5 6 7 8 9 10 | template <typename T, class Traits>   requires std::is_trivially_copyable_v<T> bool read_var(T& var, std::basic_istream<char, Traits>& istr) {   auto p = std::addressof(var);   auto n = sizeof(var);   istr.read(const_cast<char*>(reinterpret_cast<char volatile*>(p)), n);   return istr.good(); } | 
使用するストロームは必ずバイナリーモードでオープンしてください。テキストモードを使うと環境によっては破綻します。






