Необязательные ссылочные типы: почему их отсутствие в std::optional и альтернативах
Класс стандартной библиотеки std::optional, представленный как std ::experimental::optional в libc, особенно не хватает специализации для ссылочных типов. В связи с этим возникает вопрос, будут ли такие специализации полезны.
Преимущества дополнительных ссылочных типов
Необязательные ссылочные типы могут иметь такие преимущества, как:
Обоснование отсутствия
Несмотря на эти потенциальные преимущества, std:: Необязательный в настоящее время не имеет специализации для ссылочных типов. Причина кроется в дискуссиях в ходе процесса стандартизации.
Члены комитета выразили обеспокоенность по поводу семантики необязательных ссылок. Их беспокоили потенциальные проблемы, связанные со временем жизни и владением объекта, поскольку необязательные ссылки могли ссылаться на объекты, которые уже были уничтожены или недействительны по иным причинам.
Альтернативные варианты
В то время как std: :optional не поддерживает ссылочные типы, стандартная библиотека предлагает альтернативные решения:
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3