Позвольте мне использовать последний текущий черновик пункта о вычете типов заполнителей: https://eel.is/c++draft/dcl.type.auto.deduct
Часть 3 читается (выделено жирным шрифтом от меня):
Если спецификатор типа-заполнителя имеет форму type-constraint(opt) auto, выведенный тип T'< /code> замена T определяется с использованием правил вывода аргументов шаблона. Если инициализация представляет собой инициализацию списка копирования, объявление std::initializer_list должно предшествовать ([basic.lookup.general]) спецификатору типа-заполнителя. Получите P из T, заменив вхождения type-constraint(opt) auto либо новым изобретенным параметром шаблона типа U, либо, если инициализация copy-list-initialization с помощью std::initializer_list. Выведите значение для U, используя правила вывода аргумента шаблона из вызова функции, где P — тип параметра шаблона функции, а соответствующий аргумент — E. Если вывод не удался, декларация имеет неправильную форму. В противном случае T' получается путем замены выведенного U на P.
Может ли кто-нибудь поделиться каким-либо примером с несколькими вхождениями (необязательно с ограничением по типу) auto внутри типа T, который должен быть тот же тип P?
Например, часть 4 со случаем decltype(auto), явно укажите ограничение:
... T должно быть единственным заполнителем...
что, похоже, подтверждает существование расширенных случаев (для auto).
Подробнее здесь: https://stackoverflow.com/questions/792 ... -in-a-type
Несколько вхождений типа заполнителя «авто» в типе ⇐ C++
Программы на C++. Форум разработчиков
-
Anonymous
1732485829
Anonymous
Позвольте мне использовать последний текущий черновик пункта о вычете типов заполнителей: https://eel.is/c++draft/dcl.type.auto.deduct
Часть 3 читается (выделено жирным шрифтом от меня):
Если спецификатор типа-заполнителя имеет форму type-constraint(opt) auto, выведенный тип T'< /code> замена T определяется с использованием правил вывода аргументов шаблона. Если инициализация представляет собой инициализацию списка копирования, объявление std::initializer_list должно предшествовать ([basic.lookup.general]) спецификатору типа-заполнителя. Получите P из T, [b]заменив вхождения[/b] type-constraint(opt) auto либо новым изобретенным параметром шаблона типа U, либо, если инициализация copy-list-initialization с помощью std::initializer_list. Выведите значение для U, используя правила вывода аргумента шаблона из вызова функции, где P — тип параметра шаблона функции, а соответствующий аргумент — E. Если вывод не удался, декларация имеет неправильную форму. В противном случае T' получается путем замены выведенного U на P.
Может ли кто-нибудь поделиться каким-либо примером с несколькими вхождениями (необязательно с ограничением по типу) auto внутри типа T, который должен быть [b]тот же[/b] тип P?
Например, часть 4 со случаем decltype(auto), явно укажите ограничение:
... T должно быть единственным заполнителем...
что, похоже, подтверждает существование расширенных случаев (для auto).
Подробнее здесь: [url]https://stackoverflow.com/questions/79208177/multiple-occurrences-of-placeholder-type-auto-in-a-type[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия