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
-
Sourceeine Spezialisierung von std::basic_string oder std::basic_string_view ist, oder - std::iterator_traits<std::decay_t<Source>>::value_type gültig ist und einen möglicherweise konstanten Codierungszeichentyp bezeichnet (char, char8_t, (seit C++20)char16_t, char32_t oder wchar_t).
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
Führen Sie diesen Code aus
#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) | |
konstruiert einen path(public member function) |