170 похожих чатов

Подскажите, на каком этапе разрешения перегрузки начинают пытаться инстанцироваться шаблоны?

В gcc 10, если имеется точное совпадение или навешивание ссылки (возможно с последующими квалификаторами), шаблоны не рассматриваются, а вот при тривиальных преобразованиях, уже да. Так ли это? Можно ткнуть в стандарт

10 ответов

14 просмотров

http://eel.is/c++draft/over.match#funcs.general-7 из шаблонов функций генерируются специализации, которые рассматриваются как обычные кандидаты, насколько я могу судить при этом руками написанные специализации рассматриваются только если в результате разрешения перегрузки выбран соответствующий шаблон — не раньше

https://www.youtube.com/watch?v=NIDEjY5ywqU

Danya🔥
https://www.youtube.com/watch?v=NIDEjY5ywqU

Я тоже хотел на это видео дать ссылку, Данная, Спасибо

Артём-Колпаков Автор вопроса
Vlad
http://eel.is/c++draft/over.match#funcs.general-7 ...

Видео полистать, но не увидел ответа к сожалению. Я вот о чем: template <typename T> struct TD; template <typename T> TD<T> foo(T *) {} void foo(int *) {} // 1. точное совпадение, ошибки нет void foo(int * const &) {} // 2. добавление & и cv-qual, ошибки нет void foo(int const *) {} // 3. тривиальное преобразование, ошибка шаблона Считаем, что из строк 1-3 одновременно присутствует лишь одна. Мне интересно, где в стандарте мотивирован учёт шаблонов лишь если нет точного совпадения (строка 3) P.S. прошу прощения, мобильное приложение съело "ответ", не туда отправил, отменить не могу

Артём Колпаков
Видео полистать, но не увидел ответа к сожалению. ...

сделайте демонстрацию на годболте, пожалуйста

Артём-Колпаков Автор вопроса
Артём Колпаков
Сижу с телефона, godbolt не работает(

wandbox с телефонов лучше работает, говорят

Артём-Колпаков Автор вопроса
Vlad
сделайте демонстрацию на годболте, пожалуйста

https://wandbox.org/permlink/eKf8ukWakyHnGdns https://wandbox.org/permlink/bKCrnyzuMh6dHooO https://wandbox.org/permlink/Djjml0XT9S0hhQGk

Артём Колпаков
https://wandbox.org/permlink/eKf8ukWakyHnGdns http...

я все тянул с ответом, думая, что придется в [over] копаться, но ответ на ваш вопрос видится более простым: мне видится логичным, что синтезированная foo(int*) выигрывает у foo(const int*), потому что она точнее, и никакие специальные правила для шаблонов функций не нужны

Похожие вопросы

Обсуждают сегодня

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта