Skip to content
败犬日报 2025-11-25

败犬日报 2025-11-25

1. fstream 打开文件,路径不能是 string_view

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