Size: a a a

2020 August 10

AP

Alexander Potapov in supapro.cxx
Это из разряда давайте найдём компилятор где байт 9 бит
источник

AP

Alexander Potapov in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
С pacement new тебе еще выделять для меты память надо
Нет
источник

AP

Alexander Potapov in supapro.cxx
Метаинформацию между прочим и malloc хранит
источник

AP

Alexander Potapov in supapro.cxx
Ой сори это не мне изначально адресовалось
источник

ПК

Побитый Кирпич... in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
С pacement new тебе еще выделять для меты память надо
Не надо
источник

AE

Andrew Evseev in supapro.cxx
Есть класс, внутри которого шаблонный метод. Можно ли добавить нешаблонный метод, который вызовет поочереди шаблонный метод для каждого инстанса?
источник

D

Danya in supapro.cxx
Andrew Evseev
Есть класс, внутри которого шаблонный метод. Можно ли добавить нешаблонный метод, который вызовет поочереди шаблонный метод для каждого инстанса?
Инстанса чего?
источник

D

Danya in supapro.cxx
Шаблон метода нельзя вызвать
источник

D

Danya in supapro.cxx
Можно вызвать только его инстанциацию
источник

AP

Alexander Potapov in supapro.cxx
https://pastebin.com/27E356qH
Тоже не очень понял, но если инстанс шаблонов, то можно так, хотя это оч хакнуто
источник

AE

Andrew Evseev in supapro.cxx
Спасибо
источник

AP

Alexander Potapov in supapro.cxx
Я в итоге угадал, что было нужно?
источник

AE

Andrew Evseev in supapro.cxx
Да, примерно такого решения я и ждал, но тоже вижу, что получается не очень
источник

AE

Andrew Evseev in supapro.cxx
Всё равно спасибо
источник

AP

Alexander Potapov in supapro.cxx
👍
источник

s

std::slavik in supapro.cxx
Andrew Evseev
Да, примерно такого решения я и ждал, но тоже вижу, что получается не очень
чем не очень?
источник

s

std::slavik in supapro.cxx
ну разве что тем что регистрация произойдет при вызове метода только, а не при создании
источник

s

std::slavik in supapro.cxx
а можно как-нибудь чтобы на этапе компиляции при создании реализации метода для каждого типа как-то регистрировать это?
источник

s

std::slavik in supapro.cxx
#include <functional>
#include <cstdio>
struct X
{
   inline static std::function<void(X*)> impl = [](X*) {};
   void invoke_all() { impl(this); }

   template<typename T>
   static bool register_foo()
   {
       impl = [old = std::move(impl)](X* x) { x->foo<T>(); old(x); };
       return true;
   }

   template<typename T>
   void foo()
   {
       static bool _ = register_foo<T>();
       printf("%s\n", typeid(T).name());
   }
};

int main(int argc, char* argv[])
{
   X x;
   x.invoke_all();
   x.foo<int>();
   x.foo<char>();
}
типа если вот так вот сделаем - компилятор увидит что используются типы int и char и создаст под них реализации метода, но при этом пока не вызовется метод он не зарегистрируется.
источник

A

Art in supapro.cxx
кто-то знает почему может не работать std::this_thread::sleep_for(std::chrono::microseconds(5000));  использую VS2017
источник