std::unique_ptr<T,Deleter>:: operator<<
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Modifiers | ||||
| Observers | ||||
| Non-member functions | ||||
|
(C++14)
(C++20)
|
||||
|
(until C++20)
(C++20)
|
||||
|
operator<<
(C++20)
|
||||
| Helper classes | ||||
|
template
<
class
CharT,
class
Traits,
class
Y,
class
D
>
std::
basic_ostream
<
CharT, Traits
>
&
operator
<<
(
std::
basic_ostream
<
CharT, Traits
>
&
os,
|
(seit C++20) | |
Fügt den Wert des Zeigers, der von p verwaltet wird, in den Ausgabestream os ein.
Entspricht os << p. get ( ) .
Diese Überladung nimmt nur dann an der Überladungsauflösung teil, wenn os << p. get ( ) ein gültiger Ausdruck ist.
Inhaltsverzeichnis |
Parameter
| os | - | ein std::basic_ostream zum Einfügen von p |
| p | - | der Zeiger, der in os eingefügt werden soll |
Rückgabewert
os
Hinweise
Wenn
std::
unique_ptr
<
Y, D
>
::
pointer
ein Zeiger auf einen Zeichentyp ist (z.B. wenn
Y
char
(
[
]
) oder
CharT
(
[
]
) ist), könnte dies dazu führen, dass die
Überladungen von
operator<<
für nullterminierte Zeichenketten
aufgerufen werden (was zu undefiniertem Verhalten führt, wenn der Zeiger tatsächlich nicht auf eine solche Zeichenkette zeigt), anstatt
der Überladung zur Ausgabe des Zeigerwerts selbst
.
Beispiel
#include <iostream> #include <memory> class Foo {}; int main() { auto p = std::make_unique<Foo>(); std::cout << p << '\n'; std::cout << p.get() << '\n'; }
Mögliche Ausgabe:
0x6d9028 0x6d9028
Siehe auch
|
gibt einen Zeiger auf das verwaltete Objekt zurück
(öffentliche Elementfunktion) |