命名空间
变体
操作

std::filesystem::path::operator=

来自 cppreference.com
< cpp‎ | filesystem‎ | path
 
 
 
 
path& operator=( const path& p );
(1) (自 C++17)
path& operator=( path&& p ) noexcept;
(2) (自 C++17)
path& operator=( string_type&& source );
(3) (自 C++17)
template< class Source >
path& operator=( const Source& source );
(4) (自 C++17)
1) 用一个路径名替换 *this 的内容,其本地格式和通用格式表示都等于 p 的表示。
2) 用一个路径名替换 *this 的内容,其本地格式和通用格式表示都等于 p 的表示,可能使用移动语义:p 处于一个有效但未指定的 state。
3) 用一个新路径值替换 *this 的内容,该路径值从检测到的格式 source 构建,source 处于有效但未指定的 state。等价于 assign(std::move(source))
4) 用一个新路径值替换 *this 的内容,该路径值从检测到的格式 source 构建,就像通过 路径构造函数 的重载 (4) 一样。等价于 assign(source)

(4) 仅在 Sourcepath 类型不同且以下任一条件满足时参与重载解析:

内容

[编辑] 参数

p - 要分配的路径
source - 一个 std::basic_stringstd::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"; // move assignment
    const wchar_t* wstr = L"D:/猫.txt";
    p = wstr; // assignment from a source
}

[编辑] 缺陷报告

以下更改行为的缺陷报告已追溯应用于以前发布的 C++ 标准。

DR 应用于 已发布的行为 正确的行为
LWG 3244 C++17 缺少 Source 不能是 path 的约束 已添加

[编辑] 参见

分配内容
(公共成员函数) [编辑]
构造一个 path
(公共成员函数) [编辑]