C++ именованные требования: ImplicitLifetimeType
Примечание: стандарт не определяет именованное требование с таким именем. Это категория типов, определённая основным языком. Она включена здесь как именованное требование только для соблюдения согласованности.
Требования
Следующие типы коллективно называются типами с неявным сроком жизни:
- скалярные типы
- типы классов с неявным сроком жизни
- типы массивов
- версии этих типов с квалификаторами cv
Примечания
Некоторые операции могут неявно создавать и начинать срок жизни объектов типов с неявным сроком жизни, если это предотвратит неопределённое поведение. Однако такие операции не начинают срок жизни под-объектов таких объектов, которые сами не являются типами с неявным сроком жизни.
Отчёты об ошибках
Следующие отчёты об ошибках, изменяющие поведение, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Применено к | Поведение, опубликованное | Правильное поведение |
|---|---|---|---|
| CWG 2489 | C++20 | операция, которая начинает срок жизни массива char, неявно создаёт объекты | она этого не делает |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/named_req/ImplicitLifetimeType