std::filesystem::path::operator=
来自cppreference.com
| |
(1) | (C++17 起) |
| |
(2) | (C++17 起) |
| |
(3) | (C++17 起) |
| |
(4) | (C++17 起) |
1) 以原生和通用格式均与
p 相同的路径名替换 *this 的内容。2) 以原生和通用格式均与
p 相同的路径名替换 *this 的内容,可能使用移动语义:p 留在合法但未指定的状态。3) 以从受检测格式的
source 构造的新 path 值替换 *this 的内容。source 留合法但未指定的状态。等价于 assign(std::move(source))。仅若 Source 与 path 不是同一类型,而且:
Source是 std::basic_string 或 std::basic_string_view 的特化,或std::iterator_traits<std::decay_t<Source>>::value_type合法并代表可能有 const 限定的编码字符类型(char、char8_t、(C++20 起)char16_t、char32_t或wchar_t)
(4) 才参与重载决议。
参数
| p | - | 要赋值的路径 |
| source | - | std::basic_string,std::basic_string_view,指向空终止字符/宽字符串的指针,或指向空终止字符/宽字符序列的输入迭代器。字符类型必须是 char、char8_t(C++20 起)、char16_t、char32_t、wchar_t 之一
|
返回值
*this
参阅
运行此代码
#include <filesystem>
namespace fs = std::filesystem;
int main()
{
fs::path p = "C:/users/abcdef/AppData/Local";
p = p / "Temp"; // 移动赋值
const wchar_t* wstr = L"D:/猫.txt";
p = wstr; // 从源赋值
}
缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
| 缺陷报告 | 应用于 | 出版时的行为 | 正确行为 |
|---|---|---|---|
| LWG 3244 | C++17 | 缺失 Source 不能为 path 的制约
|
已添加 |
参阅
| 赋值内容 (公开成员函数) | |
构造一个 path (公开成员函数) |