Namespaces
Variants

std::define_static_string

От ru.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 статического массива
(шаблон функции)
преобразует значение времени компиляции в статическое хранилище, возвращает указатель на статический объект
(шаблон функции)
преобразует строку времени компиляции в статическое хранилище, возвращает отражение, представляющее статическую строку
(шаблон функции)