LINUX.ORG.RU

template<> — а это что за зверь

 


0

1

Коллеги, читая чужой код наткнулся на строки

        template<> inline bool is<float, float>(const float& left, const float& right, const std::string& message) {
        return is(left, right, message, nearly_equal<float>());
  }

https://github.com/cbab/libtappp/blob/master/include/tap%2B%2B/tap%2B%2B.h#L180

Такого использования ключевого слова template я раньше не встречал.

Чисто интуитивно оно задает кастомное поведение шаблона is для случая если его позвали в комбинации float/float.

Просмотрел еще раз документацию, похожего ничего не нашел.

Что это? Как это понимать? Это же должно как-то называться и где-то быть описанным…

Update: Это называется Template Specialization, и по этим ключевым словам ищется любым посковиком…

@ox55ff, спасибо!

★★★

Ответ на: комментарий от theNamelessOne

И рыбку съесть...

https://searx.be/search?q=template%3C%3E&categories=general&language=en-US

@WitcherGeralt: Так перестань использовать поисковики для унтерменшей.

Лучше уж для «унтерменшей», чем для «арабов».

sudopacman ★★★★★ ()
Ответ на: комментарий от dvetutnev

Рекомендую все же букварь по нему почитать

В букваре (первое издание Страуструпа) шаблонов вообще не было, как и множественного наследования. Тут, скорее, с подарочным изданием Розенталя сравнивать :)

hobbit ★★★★★ ()
Ответ на: комментарий от hobbit

Рекомендую все же букварь по нему почитать

В букваре (первое издание Страуструпа) шаблонов вообще не было, как и множественного наследования. Тут, скорее, с подарочным изданием Розенталя сравнивать :)

Вот да. В третьем про шаблоны есть, но про специализацию нету. Я внимательно его раздел про шаблоны изучил.

Что у нас за подарочное издание Розенталя нынче? Читать голую спецификацию на английском я пожалуй не готов пока…

shaplov ★★★ ()
Последнее исправление: shaplov (всего исправлений: 1)
Ответ на: комментарий от shaplov

Что у нас за подарочное издание Розенталя нынче?

Самому интересно.

Спецификация ещё и спецификации рознь. C++20 хоть и стандарт, но толком не устоялся и не везде поддерживается, модули те же.

hobbit ★★★★★ ()
Ответ на: комментарий от dvetutnev

Ну извиняй, со словом «букварь» это была самая близкая ассоциация. На русском, кстати, букварь издали сначала в духе эпохи братков на мерсах - в мягкой обложке И БЕЗ УКАЗАНИЯ АВТОРА!

А вопрос, что по современному C++ почитать кроме стандартов и желательно на родном для читателя языке, остаётся интересным.

hobbit ★★★★★ ()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от hobbit

Да, вот официальный репозиторий с исходниками TeX и собранными PDF.

Было дело, смотрел выборочно некоторые моменты, всерьёз ознакомиться не осилил. Если что и будет существенно отличаться от финальника, то, вероятно, какой-нибудь новый функционал.

To TC: в этом конкретном случае, поиск template<> по документу выдал бы нужный параграф, а дальше в поисковик.

PhysShell ()