basic_string_view operator<<
basic_string_view operator<< (한국어 부제)
이 페이지는 std::basic_string_view를 출력 스트림에 삽입하는 operator<< 함수 템플릿에 대해 설명해요. 이 연산자는 문자열 뷰의 내용을 형식화된 출력으로 스트림에 보내요. C++17부터 사용할 수 있어요.
출처: cppreference
본문
정의
<string_view> 헤더에 정의됨 |
||
|---|---|---|
template < class CharT , class Traits > std :: basic_ostream < CharT , Traits >& operator << ( std :: basic_ostream < CharT , Traits >& os , std :: basic_string_view < CharT , Traits > v ); |
(C++17부터) |
동작
이 함수는 FormattedOutputFunction처럼 동작해요. sentry 객체를 생성하고 확인한 다음, 출력 형식 패딩을 결정해요.
그런 다음 결과 시퀀스 seq(패딩이 포함된 v의 내용)의 각 문자를 출력 스트림 os에 저장해요. 이때 os.rdbuf()->sputn(seq, n)을 호출하는 것처럼 동작하며, n은 std::max(os.width(), str.size())예요.
마지막으로 os.width(0)을 호출해서 std::setw의 효과가 있다면 취소해요.
예외
출력 중 예외가 발생하면 std::ios_base::failure를 던질 수 있어요.
매개변수
os |
- | 문자 출력 스트림 |
|---|---|---|
v |
- | 삽입할 뷰 |
반환값
os
예제
#include <iomanip>
#include <iostream>
#include <string_view>
int main()
{
constexpr std::string_view s{"abc"};
constexpr int width{5};
// fill/left/right properties are kept until changed
std::cout << std::setfill('-');
std::cout << std::left;
std::cout << '[' << std::setw(width) << s << "]\n";
std::cout << '[' << std::setw(width) << s << "]\n";
std::cout << std::right;
std::cout << '[' << std::setw(width) << s << "]\n";
// width is reset after each call
std::cout << '[' << s << "]\n";
}
출력:
[abc--]
[abc--]
[--abc]
[abc]
같이 보기
operator<< operator>> |
문자열에 대한 스트림 입력과 출력을 수행해요 (함수 템플릿) [edit] |
|---|