Namensräume
Varianten
Aktionen

std::filesystem::operator=

Von cppreference.com
< cpp‎ | filesystem‎ | path
 
 
 
 
path& operator=( const path& p );
(1) (seit C++17)
path& operator=( path&& p ) noexcept;
(2) (seit C++17)
path& operator=( string_type&& source );
(3) (seit C++17)
template< class Source >
path& operator=( const Source& source );
(4) (seit C++17)
1) Ersetzt den Inhalt von *this durch einen Pfadnamen, dessen native und generische Formatdarstellungen denen von p entsprechen.
2) Ersetzt den Inhalt von *this durch einen Pfadnamen, dessen native und generische Formatdarstellungen denen von p entsprechen, möglicherweise unter Verwendung von Move-Semantik: p wird in einem gültigen, aber nicht spezifizierten Zustand hinterlassen.
3) Ersetzt den Inhalt von *this durch einen neuen Pfadwert, der aus dem erkannten Format source konstruiert wird, der in einem gültigen, aber nicht spezifizierten Zustand hinterlassen wird. Äquivalent zu assign(std::move(source)).
4) Ersetzt den Inhalt von *this durch einen neuen Pfadwert, der aus dem erkannten Format source konstruiert wird, wie durch Überladung (4) des Pfadkonstruktors. Äquivalent zu assign(source).

(4) nimmt an der Überladungsauflösung teil, nur wenn `Source` und `path` nicht denselben Typ haben und entweder

Inhalt

[bearbeiten] Parameter

p - ein Pfad zum Zuweisen
source - ein std::basic_string, std::basic_string_view, Zeiger auf einen nullterminierten Zeichen-/Wide-Character-String oder ein Eingabeiterator, der auf eine nullterminierte Zeichen-/Wide-Character-Sequenz zeigt. Der Zeigertyp muss einer der folgenden sein: char, char8_t, (seit C++20)char16_t, char32_t, wchar_t

[bearbeiten] Rückgabewert

*this

[bearbeiten] Beispiel

#include <filesystem>
namespace fs = std::filesystem;
 
int main()
{
    fs::path p = "C:/users/abcdef/AppData/Local";
    p = p / "Temp"; // move assignment
    const wchar_t* wstr = L"D:/猫.txt";
    p = wstr; // assignment from a source
}

[bearbeiten] Defect reports

Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR angewendet auf Verhalten wie veröffentlicht Korrigiertes Verhalten
LWG 3244 C++17 Es fehlte die Bedingung, dass Source nicht path sein kann hinzugefügt

[bearbeiten] Siehe auch

weist Inhalte zu
(public member function) [bearbeiten]
konstruiert einen path
(public member function) [edit]