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,
|
(C++20 이후) | |
p 가 관리하는 포인터의 값을 출력 스트림 os 에 삽입합니다.
다음 코드와 동등합니다: os << p. get ( ) .
이 오버로드는 다음 조건에서만 오버로드 해결에 참여합니다: os << p. get ( ) 가 유효한 표현식인 경우에만.
목차 |
매개변수
| os | - | std::basic_ostream 에 p 를 삽입할 출력 스트림 |
| p | - | os 에 삽입할 포인터 |
반환값
os
참고 사항
만약
std::
unique_ptr
<
Y, D
>
::
pointer
가 문자 타입에 대한 포인터인 경우(예:
Y
가
char
(
[
]
) 또는
CharT
(
[
]
)일 때), 이는
널 종료 문자열에 대한
operator<<
오버로드
를 호출할 수 있으며(실제로 해당 포인터가 그러한 문자열을 가리키지 않을 경우 미정의 동작을 초래함),
포인터 자체의 값을 출력하는 오버로드
를 호출하지 않을 수 있습니다.
예제
#include <iostream> #include <memory> class Foo {}; int main() { auto p = std::make_unique<Foo>(); std::cout << p << '\n'; std::cout << p.get() << '\n'; }
가능한 출력:
0x6d9028 0x6d9028
참고 항목
|
관리되는 객체에 대한 포인터를 반환합니다
(public member function) |