Namespaces
Variants

std::filesystem:: operator/ (std::filesystem::path)

From es.cppreference.net
friend path operator / ( const path & lhs, const path & rhs ) ;
(desde C++17)

Concatena dos componentes de ruta utilizando el separador de directorio preferido si es apropiado (consulte operator/= para más detalles).

Efectivamente retorna path ( lhs ) / = rhs .

Esta función no es visible para la búsqueda no calificada o calificada ordinaria, y solo puede ser encontrada mediante búsqueda dependiente de argumentos cuando std::filesystem::path es una clase asociada de los argumentos. Esto evita conversiones indeseables en presencia de una using namespace std :: filesystem ; directiva using .

Contenidos

Parámetros

lhs, rhs - rutas a concatenar

Valor de retorno

El resultado de la concatenación de rutas.

Ejemplo

#include <filesystem>
#include <iostream>
int main()
{
#   if defined(_WIN32) // see e.g. stackoverflow.com/questions/142508
    std::filesystem::path p = "C:";
    std::cout << R"("C:\" / "Users" / "batman" == )" << p / "Users" / "batman" << '\n';
#   else // __linux__ etc
    std::filesystem::path p = "/home";
    std::cout << R"("/home" / "tux" / ".fonts" ==)" << p / "tux" / ".fonts" << '\n';
#   endif
}

Salida posible:

Windows specific output:
"C:" / "Users" / "batman" == "C:Users\\batman"
Linux etc specific output:
"/home" / "tux" / ".fonts" == "/home/tux/.fonts"

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 3065 C++17 permitía concatenar todo convertible a path en presencia de una using-directive convertido en hidden friend

Véase también

agrega elementos a la ruta con un separador de directorio
(función miembro pública)