Size: a a a

2020 August 11

VS

Vladimir Suisei in supapro.cxx
Вроде где-то слышал что инлайны как-то связаны с шаблонами
источник

ПК

Побитый Кирпич... in supapro.cxx
Vladimir Suisei
Еще вопрос такой - со всеми этими игрищами с шаблонами, я должен что-то сам инлайнить? Что я вообще должен знать про инлайны?
ничего, пиши и не парься
источник

ПК

Побитый Кирпич... in supapro.cxx
Ты просто должен в .h файле писать всё
источник

AP

Alexander Potapov in supapro.cxx
Vladimir Suisei
Еще вопрос такой - со всеми этими игрищами с шаблонами, я должен что-то сам инлайнить? Что я вообще должен знать про инлайны?
Что не надо ничего инлайнить
источник

VS

Vladimir Suisei in supapro.cxx
Есть еще какая-то дичь  с std::forward и шаблонами
источник

AP

Alexander Potapov in supapro.cxx
perfect forwarding можешь погуглить
источник

VS

Vladimir Suisei in supapro.cxx
Побитый Кирпич
Ты просто должен в .h файле писать всё
Вот. Почему я не могу в cpp?
источник

AP

Alexander Potapov in supapro.cxx
Потому что компилятор генерирует код только для инстанцирования шаблонов
источник

ПК

Побитый Кирпич... in supapro.cxx
Vladimir Suisei
Вот. Почему я не могу в cpp?
Потому что тело шаблона должно быть доступно в точке инстанцирования
источник

AP

Alexander Potapov in supapro.cxx
Пока нет инстанцирования нечего генерировать
источник

ПК

Побитый Кирпич... in supapro.cxx
Vladimir Suisei
Вот. Почему я не могу в cpp?
Если шаблон используется только в одном cpp, то можешь там написать его
источник

VS

Vladimir Suisei in supapro.cxx
Т.е. если есть слово template перед функцией или классом - я обязан его написать в .h?
источник

AP

Alexander Potapov in supapro.cxx
и при сборке cpp файла компилятор не может заглянуть в другой cpp файл
источник

ПК

Побитый Кирпич... in supapro.cxx
Vladimir Suisei
Т.е. если есть слово template перед функцией или классом - я обязан его написать в .h?
Если хочешь чтоб его можно было юзать в разных TU, то да
источник

ПК

Побитый Кирпич... in supapro.cxx
Как с макросами
источник

VS

Vladimir Suisei in supapro.cxx
А какой будет эффект если я напишу в cpp а потом попытаюсь заюзать в другом cpp
источник

AP

Alexander Potapov in supapro.cxx
Link error, unresolved external symbol
источник

ПК

Побитый Кирпич... in supapro.cxx
Vladimir Suisei
А какой будет эффект если я напишу в cpp а потом попытаюсь заюзать в другом cpp
Ошибка линковки, скорее всего
источник

VS

Vladimir Suisei in supapro.cxx
А как тогда инкапсулировать и скрывать реализацию, например в библиотеке
источник

VS

Vladimir Suisei in supapro.cxx
Если я обязан весь внутренний код в хедере писать
источник