Spec-Zone.ru › C++

Именованные требования C++: ImplicitLifetimeType

Примечание: стандарт не определяет именованное требование с таким названием. Это категория типов, определённая основным языком. Здесь она включена в качестве именованного требования только для единообразия.

Требования

Следующие типы в совокупности называются типами с неявным временем жизни:

  • скалярные типы
  • типы классов с неявным временем жизни
  • типы массивов
  • версии этих типов с cv-квалификаторами

Примечания

Некоторые операции могут неявно создавать объекты типов с неявным временем жизни и запускать их время жизни, если это позволило бы предотвратить неопределённое поведение. Однако такие операции не запускают время жизни подобъектов этих объектов, которые сами не являются типами с неявным временем жизни.

Отчёты об ошибках

Следующие отчёты об ошибках, меняющие поведение, были применены задним числом к ранее опубликованным стандартам C++.

DR Применён к Опубликованное поведение Правильное поведение
CWG 2489 C++20 операция, начинающая время жизни массива char, неявно создаёт объекты этого не происходит

См. также

is_implicit_lifetime
(C++23)
проверяет, является ли тип типом с неявным временем жизни
(шаблон класса)
is_implicit_lifetime_type
(C++26)
проверяет, является ли отражённый тип типом с неявным временем жизни
(функция)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/named_req/ImplicitLifetimeType

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API