std::filesystem::path:: operator=
From cppreference.net
<
cpp
|
filesystem
|
path
|
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 :
-
Sourceest une spécialisation de std::basic_string ou std::basic_string_view , ou - std:: iterator_traits < std:: decay_t < Source >> :: value_type est valide et désigne un type de caractère d'encodage éventuellement qualifié const ( char , char8_t , (depuis C++20) char16_t , char32_t , ou wchar_t ).
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
Exécuter ce code
#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) |