Namespaces
Variants

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

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

Concatène deux composants de chemin en utilisant le séparateur de répertoire préféré si approprié (voir operator/= pour plus de détails).

Retourne effectivement path ( lhs ) / = rhs .

Cette fonction n'est pas visible par la recherche non qualifiée ou qualifiée ordinaire, et ne peut être trouvée que par la recherche dépendante des arguments lorsque std::filesystem::path est une classe associée des arguments. Cela empêche les conversions indésirables en présence d'une using namespace std :: filesystem ; directive using .

Table des matières

Paramètres

lhs, rhs - chemins à concaténer

Valeur de retour

Le résultat de la concaténation de chemins.

Exemple

#include <filesystem>
#include <iostream>
int main()
{
#   if defined(_WIN32) // voir par exemple 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
}

Sortie possible :

Sortie spécifique à Windows :
"C:" / "Users" / "batman" == "C:Users\\batman"
Sortie spécifique à Linux etc :
"/home" / "tux" / ".fonts" == "/home/tux/.fonts"

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Applicable à Comportement publié Comportement corrigé
LWG 3065 C++17 permettait la concaténation de tout élément convertible en path en présence d'une using-directive rendu hidden friend

Voir aussi

ajoute des éléments au chemin avec un séparateur de répertoire
(fonction membre publique)