close
Espacios de nombres
Variantes

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:

  • 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).

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

#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) [editar]
Construye una ruta de acceso.
(función miembro pública) [editar]