std:: runtime_format
|
헤더 파일에 정의됨
<format>
|
||
|
/*runtime-format-string*/
<
char
>
runtime_format
(
std::
string_view
fmt
)
noexcept
;
|
(1) | (C++26부터) |
|
/*runtime-format-string*/
<
wchar_t
>
runtime_format
(
std::
wstring_view
fmt
)
noexcept
;
|
(2) | (C++26부터) |
사용자 지향 서식 함수에서 직접 사용 가능한 런타임 형식 문자열을 저장하는 객체를 반환하며,
std::basic_format_string
으로 암시적으로 변환될 수 있습니다.
목차 |
매개변수
| fmt | - | 문자열 뷰 |
반환값
노출 전용(exposition-only) 타입의 런타임 형식 문자열을 보유하는 객체:
클래스 템플릿
runtime-format-string
<CharT>
|
template
<
class
CharT
>
struct /*runtime-format-string*/ ; |
( 설명 전용* ) | |
멤버 객체
반환된 객체는 설명 전용 비정적 데이터 멤버
str
을 포함하며, 이는
std::basic_string_view<CharT>
타입입니다.
생성자와 할당 연산자
|
/*runtime-format-string*/
(
std::
basic_string_view
<
CharT
>
s
)
noexcept
;
|
(1) | |
|
/*runtime-format-string*/
(
const
/*runtime-format-string*/
&
)
=
delete
;
|
(2) | |
|
/*runtime-format-string*/
&
operator
=
(
const
/*runtime-format-string*/
&
)
=
delete
;
|
(3) | |
str
을
s
로 초기화합니다.
참고 사항
runtime_format
의 반환 타입은 복사 가능하지도 이동 가능하지도 않기 때문에,
runtime_fmt
를 glvalue로 전달하려는 시도는
std::basic_format_string
의 생성을 억제하여 프로그램이 비정형이 됩니다.
runtime_format
으로
std::basic_format_string
을 생성하려면,
runtime_format
의 반환값이 복사 생략이 보장되는 prvalue로
std::basic_format_string
에 직접 전달되어야 합니다.
auto runtime_fmt = std::runtime_format("{}"); auto s0 = std::format(runtime_fmt, 1); // 오류 auto s1 = std::format(std::move(runtime_fmt), 1); // 여전히 오류 auto s2 = std::format(std::runtime_format("{}"), 1); // 정상
| 기능 테스트 매크로 | 값 | 표준 | 기능 |
|---|---|---|---|
__cpp_lib_format
|
202311L
|
(C++26) | 런타임 형식 문자열 |
예제
#include <format> #include <print> #include <string> #include <string_view> int main() { std::print("Hello {}!\n", "world"); std::string fmt; for (int i{}; i != 3; ++i) { fmt += "{} "; // 포맷팅 문자열 구성 std::print("{} : ", fmt); std::println(std::runtime_format(fmt), "alpha", 'Z', 3.14, "unused"); } }
출력:
Hello world!
{} : alpha
{} {} : alpha Z
{} {} {} : alpha Z 3.14
참고 항목
|
(C++20)
|
인수의 서식이 지정된 표현을 새 문자열에 저장합니다
(함수 템플릿) |
|
(C++20)
|
타입 삭제된 인수 표현을 사용하는
std::format
의 비템플릿 변형
(함수) |
|
(C++20)
(C++20)
(C++20)
|
생성 시점에 컴파일 타임 형식 문자열 검사를 수행하는 클래스 템플릿
(클래스 템플릿) |