命名空间
变体
操作

std::filesystem::path::operator=

来自 cppreference.cn
< 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 会处于某个有效但未指定的状态。
3)*this 的内容替换为一个新的路径值,该值从自动检测格式的 source 构造, source 会处于某个有效但未指定的状态。等价于 assign(std::move(source))
4)*this 的内容替换为一个新的路径值,该值从自动检测格式的 source 构造,如同通过 path 构造函数 的重载 (4) 。等价于 assign(source)

(4) 仅若 Sourcepath 不是同一类型,且满足下列任一条件,才参与重载决议:

目录

[编辑] 参数

p - - 要赋值的路径
source - - std::basic_stringstd::basic_string_view、指向空终止字符/宽字符字符串的指针,或指向空终止字符/宽字符序列的输入迭代器。字符类型必须是 charchar8_t(C++20 起)char16_tchar32_twchar_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++ 标准。

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

[编辑] 参阅

赋值内容
(公开成员函数) [编辑]
构造一个 path
(公开成员函数) [编辑]