std::filesystem::path::operator=
De cppreference.com
< 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 de acceso cuyas representaciones, tanto en formato nativo como genérico, son iguales a las de
p
.2) Reemplaza el contenido de *this con un nombre de ruta de acceso cuyas representaciones, tanto en formato nativo como genérico, son iguales a las de
p
, posiblemente utilizando la semántica de movimiento: p
se deja en un estado válido pero no especificado.3) Reemplaza el contenido de *this con un nuevo valor de ruta de acceso del formato detectado en
source
, que se deja 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 de acceso del formato detectado en
source
como si fuera por la sobrecarga (4) del constructor de ruta de acceso. Equivalente a assign(source).(4) participa en la resolución de sobrecargas solo si Source
y path
no son el mismo tipo, y ya sea que:
Source
es 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 una codificación para un tipo carácter, posiblemente calificado const (char, char8_t, (desde C++20)char16_t, char32_t, o wchar_t).
Contenido |
[editar]Parámetros
p | - | Una ruta de acceso a asignar. |
source | - | Un objeto std::basic_string, std::basic_string_view, o puntero a una cadena de caracteres o cadena de caracteres anchos, o un iterador de entrada que apunta a una secuencia de caracteres o caracteres anchos. El tipo carácter debe ser uno de char, char8_t, (desde C++20)char16_t, char32_t, wchar_t |
[editar]Valor de retorno
*this
[editar]Ejemplo
Ejecuta este código
#include <filesystem>namespace fs = std::filesystem;int main(){ fs::path p ="C:/users/abcdef/AppData/Local"; p = p /"Temp";// asignación por movimientoconstwchar_t* wstr = L"D:/猫.txt"; p = wstr;// asignación desde una fuente}
[editar]Informes de defectos
Los siguientes informes de defectos de cambio de comportamiento se aplicaron de manera retroactiva a los estándares de C++ publicados anteriormente.
ID | Aplicado a | Comportamiento según lo publicado | Comportamiento correcto |
---|---|---|---|
LWG 3244 | C++17 | Faltaba la restricción que Source no puede ser de tipo path . | Se agregó. |
[editar]Véase también
Asigna el contenido. (función miembro pública) | |
Construye una ruta de acceso. (función miembro pública) |