Namespaces
Variants

std::filesystem::path:: operator=

From cppreference.net
path & operator = ( const path & p ) ;
(1) (depuis C++17)
path & operator = ( path && p ) noexcept ;
(2) (depuis C++17)
path & operator = ( string_type && source ) ;
(3) (depuis C++17)
template < class Source >
path & operator = ( const Source & source ) ;
(4) (depuis C++17)
1) Remplace le contenu de * this par un nom de chemin dont les représentations au format natif et générique sont égales à celles de p .
2) Remplace le contenu de * this par un nom de chemin dont les représentations aux formats natif et générique sont égales à celles de p , en utilisant potentiellement la sémantique de déplacement : p est laissé dans un état valide mais non spécifié.
3) Remplace le contenu de * this par une nouvelle valeur de chemin construite à partir de source au format détecté, qui est laissé dans un état valide mais non spécifié. Équivalent à assign ( std :: move ( source ) ) .
4) Remplace le contenu de * this par une nouvelle valeur de chemin construite à partir de source au format détecté, comme par la surcharge (4) du constructeur de chemin . Équivalent à assign ( source ) .

(4) participe à la résolution de surcharge uniquement si Source et path ne sont pas du même type, et si l'une des conditions suivantes est remplie :

Table des matières

Paramètres

p - un chemin à assigner
source - un std::basic_string , std::basic_string_view , pointeur vers une chaîne de caractères/large characters terminée par un caractère nul, ou un itérateur d'entrée pointant vers une séquence de caractères/large characters terminée par un caractère nul. Le type de caractère doit être l'un des char , char8_t , (depuis C++20) char16_t , char32_t , wchar_t

Valeur de retour

* this

Exemple

#include <filesystem>
namespace fs = std::filesystem;
int main()
{
    fs::path p = "C:/users/abcdef/AppData/Local";
    p = p / "Temp"; // affectation par déplacement
    const wchar_t* wstr = L"D:/猫.txt";
    p = wstr; // affectation depuis une source
}

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR S'applique à Comportement publié Comportement corrigé
LWG 3244 C++17 la contrainte que Source ne peut pas être path était manquante ajoutée

Voir aussi

assigne le contenu
(fonction membre publique)
construit un path
(fonction membre publique)