std::filesystem::operator/(std::filesystem::path)
De cppreference.com
<tbody>
</tbody>
friend path operator/( const path& lhs, const path& rhs ); |
(desde C++17) | |
Concatena dos componentes de ruta de acceso usando el separador de directorio preferido si es lo apropriado (véase operator/= para más detalles).
Efectivamente devuelve path(lhs) /= rhs.
Esta función no es visible a una búsqueda no calificada o calificada, y puede encontrarse solamente mediante la búsqueda dependiente de argumento cuando std::filesystem::path es una clase asociada de los argumentos. Esto evita conversiones no deseables en la presencia de una directiva using using namespace std::filesystem;.
Parámetros
| lhs, rhs | - | Las rutas de acceso a concatenar. |
Valor de retorno
El resultado de la concatenación de rutas.
Ejemplo
Ejecuta este código
#include <iostream>
#include <filesystem>
int main() {
# if defined(_WIN32) // véase p. ej., stackoverflow.com/questions/142508
std::filesystem::path p = "C:";
std::cout << "\"C:\" / \"Users\" / \"batman\" == " << p / "Users" / "batman" << '\n';
# else // __linux__ etc
std::filesystem::path p = "/home";
std::cout << "\"/home\" / \"tux\" / \".fonts\" == " << p / "tux" / ".fonts" << '\n';
# endif
}
Posible salida:
Salida específica de Windows:
"C:" / "Users" / "batman" == "C:Users\\batman"
Salida específica de Linux:
"/home" / "tux" / ".fonts" == "/home/tux/.fonts"
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 3065 | C++17 | Se admitía concatenar todo lo que fuera convertible a path en la presencia de una directiva using
|
Se hizo un amigo escondido (hidden friend). |
Véase también
| Agrega elementos a la ruta de acceso con un separador de directorio. (función miembro pública) |