Namespaces
Variants

std::define_static_string

ja.cppreference.net より
< cpp | meta
 
 
 
リフレクションライブラリ
 
リフレクション型とクエリ
リフレクションクエリ
リフレクションレイアウトクエリ
型プロパティ
型プロパティクエリ
 
ヘッダ <meta>
template< ranges::input_range R >
consteval const ranges::range_value_t<R>* define_static_string( R&& r );
(C++26 以降) で定義

文字配列を静的ストレージに昇格させます。r が文字列リテラルオブジェクトでない場合、ヌル文字が付加されます。

以下と同等:

return std::meta::extract<const ranges::range_value_t<R>*>(std::meta::reflect_constant_string(r));

引数

r - 一つのinput_range(文字の範囲)

戻り値

文字配列オブジェクトの最初の要素へのポインタ。そのオブジェクトはテンプレートパラメータオブジェクトであり、rの内容を持ちます。

注釈

テンプレートパラメータオブジェクトとして、結果の文字列オブジェクトは静的記憶域期間を持ちます。同じ内容の文字列は同じオブジェクトに対応します。

結果のテンプレートパラメータオブジェクトは潜在的に非一意なオブジェクトです。

機能テストマクロ 値 標準 機能
__cpp_lib_define_static 202506L (C++26) std::define_static_string

例

関連項目

コンパイル時配列を静的ストレージに昇格させ、静的配列の span を返します
(関数テンプレート)
コンパイル時の値を静的ストレージに昇格させ、静的オブジェクトへのポインタを返します
(関数テンプレート)
コンパイル時文字列を静的ストレージに昇格させ、静的文字列を表すリフレクションを返します
(関数テンプレート)