Size: a a a

2020 July 15

AT

Andrew Titov in pro.cxx
Alexander
void foo(const MyClass& class){
bar(class);
}

void baz(const MyClass& class){
}

template <typename... Args>
void bar(Args&&... args)
{
baz(std::forward<Args>(args)...);
}
источник

AT

Andrew Titov in pro.cxx
1) Ключевое слово class нельзя использовать в качестве идентификатора.
2) Функцию bar следует объявить перед функцией foo.
источник

VS

Vlad Serebrennikov in pro.cxx
Constantine Drozdov
это замечательно, только какое это имеет отношения к метапрограммированию?
тем, что этой задаче и прочим подобным приходилось прибегать к метапрограммированию, чтобы быть решенными на этапе компиляции?
источник

CD

Constantine Drozdov in pro.cxx
Vlad Serebrennikov
тем, что этой задаче и прочим подобным приходилось прибегать к метапрограммированию, чтобы быть решенными на этапе компиляции?
когда речь идёт о value based, обычно подразумевается
auto tuple_concat(type<tuple<args1...>>, type<tuple<args2...>>)
источник

CD

Constantine Drozdov in pro.cxx
запись функций на множестве типов обычными функциями с decltype на выходе и declval на входе
источник

VS

Vlad Serebrennikov in pro.cxx
значит, мне было корректнее сказать, что язык постепенно улучшает поддержку вычислений на этапе компиляции, позволяя упрощать код, который требовал метапрограммирования
источник

CD

Constantine Drozdov in pro.cxx
Vlad Serebrennikov
значит, мне было корректнее сказать, что язык постепенно улучшает поддержку вычислений на этапе компиляции, позволяя упрощать код, который требовал метапрограммирования
ну строго говоря константу времени компиляции можно захардкодить :)
источник

CD

Constantine Drozdov in pro.cxx
и вроде бы еще вывести на макросах, но тут я не уверен
источник

V

Viαη in pro.cxx
почему забанены (если забанены) @Wireless_Local_Area_Network и @semyondyachenko?
источник

В

Владимир in pro.cxx
Vlad Serebrennikov
значит, мне было корректнее сказать, что язык постепенно улучшает поддержку вычислений на этапе компиляции, позволяя упрощать код, который требовал метапрограммирования
Эх теряется романтика, творчество, писать длинные постулаты структур предикатов и макароны сфинае.
источник

AZ

Alexander Zaitsev in pro.cxx
Viαη
почему забанены (если забанены) @Wireless_Local_Area_Network и @semyondyachenko?
первого разбанил, со вторым непонятно - вроде всё ок
источник

VS

Vlad Serebrennikov in pro.cxx
Alexey Kuznetsov
Настолько больше что местами для этого хочется дебаггер поиметь.
что мешает отлаживать в рантайме?
источник

AK

Alexey Kuznetsov in pro.cxx
Ошибка в компайл тайме, которая мешает скомпилировать и получить рантайм. С глубоким уровнем вызовов то что компилятор ввплевывает в аутпут бывает довольно сложно расшифровать
источник

NL

Nick Linker in pro.cxx
Constantine Drozdov
Не хочется устраивать длинных холиваров, но ИМХО система ссылок раста это прорыв для общей плюсовой концепции, а система трейтов - шаг назад
А ты бы не мог развернуть подробнее по поводу трейтов?
Почему у тебя сложилось такое мнение?
источник

Т8

Т-34 85 in pro.cxx
Nick Linker
А ты бы не мог развернуть подробнее по поводу трейтов?
Почему у тебя сложилось такое мнение?
поддержу вопрос
источник
2020 July 16

IZ

Ilia Zviagin in pro.cxx
Stas Dozoroff
Здрасьте. Хочу уменьшить итоговый размер exe. Линкуется куча *.lib сторонних но с открытым кодом.Возникла идея пересобрать их но только с нужным инстансом шаблонов, допустим float.
Может есть ключ какой чтоб в исходники особо не лезть
Глупая идея.
источник

IZ

Ilia Zviagin in pro.cxx
Stas Dozoroff
Здрасьте. Хочу уменьшить итоговый размер exe. Линкуется куча *.lib сторонних но с открытым кодом.Возникла идея пересобрать их но только с нужным инстансом шаблонов, допустим float.
Может есть ключ какой чтоб в исходники особо не лезть
Тебе надо бы попробовать линковать статические библиотеки, но это не всегда возможно. Шаблонный код часто вообще не линкуется, он не входит в состав lib или .dll. поэтому намекаешь уменьшения не получится.
источник

AN

Alexander N in pro.cxx
Я слышал про размер бинарей анрила многое. Сам вот хочу начать изучать его.
источник

IK

Ivan Koliesnik in pro.cxx
Alexander N
Я слышал про размер бинарей анрила многое. Сам вот хочу начать изучать его.
меня бесит что сборка идет через c#... это очень сильно бесит, та и очень много что завязано на макросах...
источник

AT

Anatoly Tomilov in pro.cxx
Если делать SBO так: template<typename T, size_t N> class small_vector { std::variant<std::array<T, N>, std::vector<T>> m_data; public : /*mimic container*/ };, то это нормальная идея? Или какие-то серьёзные проблемы можно встретить на пути?
источник