std::define_static_string
От ru.cppreference.net
| Определено в заголовке <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
|
Пример
| Этот раздел не завершён Причина: нет примера |
См. также
(C++26) |
преобразует массив времени компиляции в статическое хранилище, возвращает span статического массива (шаблон функции) |
(C++26) |
преобразует значение времени компиляции в статическое хранилище, возвращает указатель на статический объект (шаблон функции) |
(C++26) |
преобразует строку времени компиляции в статическое хранилище, возвращает отражение, представляющее статическую строку (шаблон функции) |