Однажды велась долгая дискуссия о том, следует ли считать типы замыканий структурными типами или нет (по сути, определяя, будут ли они подходить как NTTP). Подробный пост на эту тему, сделанный пользователем dfrib, можно найти здесь.
Первоначальное беспокойство по этому поводу, похоже, выразил Чжихао Юань еще в марте 2022 года. В конечном итоге это стало дефектом. отчет CWG 2542, который был принят на заседании рабочей группы в июне 2023 года. Предложенная резолюция этого отчета о дефектах была одобрена, и в нем очень четко указано, что типы затворов не являются структурными типами.
Это изменение было отражено во многих версиях рабочего проекта C++, по крайней мере, вплоть до N4971. Интересующий отрывок указан в разделе [expr.prim.lambda.closure]/3. Это также то, что люди найдут, просматривая запись cppreference о лямбда-выражениях, которая ссылается на отчет о дефектах CWG 2542 внизу страницы.
Однако в более поздней версии рабочего проекта C++ N4981, отрывок [expr.prim.lambda.closure]/3 теперь гласит:
Тип замыкания не является агрегатным типом (9.4.2); это структурный
тип (13.2) тогда и только тогда, когда лямбда не имеет лямбда-захвата.
Что, похоже, отменяет утвержденное разрешение отчета о дефектах CWG 2542. Следует ли теперь считать этот отчет о дефектах устаревшим? И на каком совещании/решении/документе типы закрытия теперь стали структурными типами?
Подробнее здесь: https://stackoverflow.com/questions/784 ... ural-types
Когда типы замыканий наконец стали структурными типами? ⇐ C++
Программы на C++. Форум разработчиков
-
Anonymous
1714489717
Anonymous
Однажды велась долгая дискуссия о том, следует ли считать типы замыканий структурными типами или нет (по сути, определяя, будут ли они подходить как NTTP). Подробный пост на эту тему, сделанный пользователем dfrib, можно найти здесь.
Первоначальное беспокойство по этому поводу, похоже, выразил Чжихао Юань еще в марте 2022 года. В конечном итоге это стало дефектом. отчет CWG 2542, который был принят на заседании рабочей группы в июне 2023 года. Предложенная резолюция этого отчета о дефектах была одобрена, и в нем очень четко указано, что типы затворов не являются структурными типами.
Это изменение было отражено во многих версиях рабочего проекта C++, по крайней мере, вплоть до N4971. Интересующий отрывок указан в разделе [expr.prim.lambda.closure]/3. Это также то, что люди найдут, просматривая запись cppreference о лямбда-выражениях, которая ссылается на отчет о дефектах CWG 2542 внизу страницы.
Однако в более поздней версии рабочего проекта C++ N4981, отрывок [expr.prim.lambda.closure]/3 теперь гласит:
Тип замыкания не является агрегатным типом (9.4.2); это структурный
тип (13.2) тогда и только тогда, когда лямбда не имеет лямбда-захвата.
Что, похоже, отменяет утвержденное разрешение отчета о дефектах CWG 2542. Следует ли теперь считать этот отчет о дефектах устаревшим? И на каком совещании/решении/документе типы закрытия теперь стали структурными типами?
Подробнее здесь: [url]https://stackoverflow.com/questions/78408927/when-did-closure-types-finally-became-structural-types[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия