std::filesystem::path::operator=
De cppreference.com
<tbody>
</tbody>
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:
Sourcees una especialización de std::basic_string o std::basic_string_view, ostd::iterator_traits<std::decay_t<Source>>::value_typees válido y denota una codificación para un tipo carácter, posiblemente calificadoconst(char,char8_t, (desde C++20)char16_t,char32_t, owchar_t).
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
|
Valor de retorno
*this
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 movimiento
const wchar_t* wstr = L"D:/猫.txt";
p = wstr; // asignación desde una fuente
}
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ó. |
Véase también
| Asigna el contenido. (función miembro pública) | |
| Construye una ruta de acceso. (función miembro pública) |