std::filesystem::path:: operator=
From cppreference.net
<
cpp
|
filesystem
|
path
|
path
&
operator
=
(
const
path
&
p
)
;
|
(1) | (desde C++17) |
|
path
&
operator
=
(
path
&&
p
)
noexcept
;
|
(2) | (desde C++17) |
|
path
&
operator
=
(
string_type
&&
source
)
;
|
(3) | (desde C++17) |
|
template
<
class
Source
>
path & operator = ( const Source & source ) ; |
(4) | (desde C++17) |
1)
Reemplaza el contenido de
*
this
con un nombre de ruta cuyas representaciones de formato nativo y genérico son iguales a las de
p
.
2)
Reemplaza el contenido de
*
this
con un nombre de ruta cuyas representaciones de formato nativo y genérico son iguales a las de
p
, posiblemente utilizando semántica de movimiento:
p
queda en un estado válido pero no especificado.
3)
Reemplaza el contenido de
*
this
con un nuevo valor de ruta construido desde
source
de formato detectado, el cual queda en un estado válido pero no especificado. Equivalente a
assign
(
std
::
move
(
source
)
)
.
4)
Reemplaza el contenido de
*
this
con un nuevo valor de ruta construido desde
source
con formato detectado, como si fuera mediante la sobrecarga
(4)
del
constructor path
. Equivalente a
assign
(
source
)
.
(4)
participa en la resolución de sobrecarga solo si
Source
y
path
no son del mismo tipo, y ya sea:
-
Sourcees una especialización de std::basic_string o std::basic_string_view , o - std:: iterator_traits < std:: decay_t < Source >> :: value_type es válido y denota un tipo de carácter de codificación posiblemente calificado como const ( char , char8_t , (desde C++20) char16_t , char32_t , o wchar_t ).
Contenidos |
Parámetros
| p | - | una ruta a asignar |
| source | - | un std::basic_string , std::basic_string_view , puntero a una cadena de caracteres/wide characters terminada en nulo, o un iterador de entrada que apunta a una secuencia de caracteres/wide characters terminada en nulo. El tipo de carácter debe ser uno de char , char8_t , (since C++20) char16_t , char32_t , wchar_t |
Valor de retorno
* this
Ejemplo
Ejecutar este código
#include <filesystem> namespace fs = std::filesystem; int main() { fs::path p = "C:/users/abcdef/AppData/Local"; p = p / "Temp"; // asignación de movimiento const wchar_t* wstr = L"D:/猫.txt"; p = wstr; // asignación desde una fuente }
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.
| DR | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 3244 | C++17 |
la restricción de que
Source
no puede ser
path
faltaba
|
añadida |
Véase también
|
asigna contenidos
(función miembro pública) |
|
construye un
path
(función miembro pública) |