应使用 std::filesystem::path 的 / 运算符而非 append() 进行跨平台路径拼接,因其返回新路径、自动处理分隔符与归一化,避免就地修改、非法组件异常及根路径覆盖等问题。

std::filesystem::path 的 / 运算符才是跨平台拼接的正确姿势
别用 append() 做路径拼接,它不返回新路径,而是就地修改原对象,且语义是“追加路径组件”,不是“拼接字符串”。真正该用的是重载的 / 运算符——它返回新 std::filesystem::path,自动处理分隔符(Windows 用 ,其他用 /),且对空字符串、开头的 / 或 .. 等有合理归一化行为。
常见错误现象:path.append("subdir").append("file.txt") 看似链式调用,但一旦中间某次 append() 输入非法组件(比如含
