败犬日报 2025-11-25
败犬日报 2025-11-25
1. fstream 打开文件,路径不能是 string_view
众所周知 string_view 末尾不保证有 \0。系统调用 open 需要 \0 结尾,所以 string_view 必须拷贝并末尾添加 \0 才能使用,这个过程是有开销的。而体现开销最好的方式就是让用户手动转换成 std::string 或 fs::path,这就是“显式优于隐式”的哲学。https://cplusplus.github.io/LWG/issue3430