Size: a a a

2020 August 19

P

Pepe 🐸 in pro.cxx
может конечно по правилам дефолт инициализации, но не уверен
источник

P

Pepe 🐸 in pro.cxx
не, в оригинальном коде понятно, там адрес сразу есть после декларации
источник

..

.D.U.Ż.Y. .D.Y.M. in pro.cxx
Всем привет. У кого-нибудь где - нибудь завалялся тутор по сборке модуля апача2 (типа mod_server.so)  с помощью CMake а то я вообще уже не врубаюсь, как билдить. Есть бородатый тутор про apxs но я видел своими глазами как индус на туторе  билдит без всяких apxs https://www.youtube.com/watch?v=8koIGN2z30U&t=322s. С таким модулем, апач делает мне вертухайку и вообще падает https://github.com/DimKush/apache_module. Буду очень благодарен, если кто поможет
источник
2020 August 20

NP

Nikita Provotorov in pro.cxx
Ребят, такой вопросик. Предположим у нас есть интерфейс и шаблонная свободная функция:

struct AbstractInterface
{
   // pure-virtual methods
};

template<typename T>
void passThrough(AbstractInterface* dst, T val)
{
   // ...
}

Можно ли как-нибудь в реализацию AbstractInterface передать реальный тип объекта val, т.е. T?
Содержимое как AbstractInterface, так и тело passThrough можно свободно менять
источник

NP

Nikita Provotorov in pro.cxx
Nikita Provotorov
Ребят, такой вопросик. Предположим у нас есть интерфейс и шаблонная свободная функция:

struct AbstractInterface
{
   // pure-virtual methods
};

template<typename T>
void passThrough(AbstractInterface* dst, T val)
{
   // ...
}

Можно ли как-нибудь в реализацию AbstractInterface передать реальный тип объекта val, т.е. T?
Содержимое как AbstractInterface, так и тело passThrough можно свободно менять
Или наоборот, внутрь контекста функции "вытянуть" run-time тип объекта под dst
источник

DK

Denis K. 🇨🇦🚜🇺🇸🚜🇷🇺... in pro.cxx
Nikita Provotorov
Ребят, такой вопросик. Предположим у нас есть интерфейс и шаблонная свободная функция:

struct AbstractInterface
{
   // pure-virtual methods
};

template<typename T>
void passThrough(AbstractInterface* dst, T val)
{
   // ...
}

Можно ли как-нибудь в реализацию AbstractInterface передать реальный тип объекта val, т.е. T?
Содержимое как AbstractInterface, так и тело passThrough можно свободно менять
можно, если у тебя там есть методы, которые будут принимать конкретные T, для которых у тебя инстанциируется твой passThrough
источник

NP

Nikita Provotorov in pro.cxx
Denis K. 🇨🇦🚜🇺🇸🚜🇷🇺
можно, если у тебя там есть методы, которые будут принимать конкретные T, для которых у тебя инстанциируется твой passThrough
не, множество возможных T заранее неизвестно
источник

DK

Denis K. 🇨🇦🚜🇺🇸🚜🇷🇺... in pro.cxx
Nikita Provotorov
не, множество возможных T заранее неизвестно
тогда тоже надо шаблонизировать. Ну или ограничивать T каким то типом, к которому все  T могут скастоваться имплиситно
источник

DK

Denis K. 🇨🇦🚜🇺🇸🚜🇷🇺... in pro.cxx
подожжи, может тебе std::any нужен прост?
источник

NP

Nikita Provotorov in pro.cxx
Denis K. 🇨🇦🚜🇺🇸🚜🇷🇺
подожжи, может тебе std::any нужен прост?
это как?
источник

DK

Denis K. 🇨🇦🚜🇺🇸🚜🇷🇺... in pro.cxx
Nikita Provotorov
это как?
источник

NP

Nikita Provotorov in pro.cxx
я имею в виду как он мне тут может помочь?
источник

DK

Denis K. 🇨🇦🚜🇺🇸🚜🇷🇺... in pro.cxx
Nikita Provotorov
я имею в виду как он мне тут может помочь?
ну ты можешь в него обернуть и передать в твой объект этот
источник

NP

Nikita Provotorov in pro.cxx
Denis K. 🇨🇦🚜🇺🇸🚜🇷🇺
ну ты можешь в него обернуть и передать в твой объект этот
так мне же нужен настоящий T, я внутри его не вытяну потом
источник

DK

Denis K. 🇨🇦🚜🇺🇸🚜🇷🇺... in pro.cxx
тогда опиши что конкретно ты хочешь. Потому что пока не очень понятно что же ты собираешься писать в сигнатурах методов этого твоего интерфейса
источник

NP

Nikita Provotorov in pro.cxx
Denis K. 🇨🇦🚜🇺🇸🚜🇷🇺
тогда опиши что конкретно ты хочешь. Потому что пока не очень понятно что же ты собираешься писать в сигнатурах методов этого твоего интерфейса
сигнатуры методов интерфейса можно написать какие угодно, главное чтоб методы были виртуальными
источник

DK

Denis K. 🇨🇦🚜🇺🇸🚜🇷🇺... in pro.cxx
напиши их для всех предполагаемых типов T
источник

NP

Nikita Provotorov in pro.cxx
Denis K. 🇨🇦🚜🇺🇸🚜🇷🇺
напиши их для всех предполагаемых типов T
я же говорю. я не знаю множество всех T заранее
источник

DK

Denis K. 🇨🇦🚜🇺🇸🚜🇷🇺... in pro.cxx
тогда расписывай зачем ты это хочешь, потому что в общем случае то что ты хочешь - не очень возможно (типы то тебе надо задать какие то в сигнатурах методов же). Потому что пока выглядит как какая-то абстрактная вещь, не понятно как применимая в хозяйстве
источник

NP

Nikita Provotorov in pro.cxx
Denis K. 🇨🇦🚜🇺🇸🚜🇷🇺
тогда расписывай зачем ты это хочешь, потому что в общем случае то что ты хочешь - не очень возможно (типы то тебе надо задать какие то в сигнатурах методов же). Потому что пока выглядит как какая-то абстрактная вещь, не понятно как применимая в хозяйстве
хочу написать type-erasure обертку для CRTP-based иерархии классов. Один из методов в родительском CRTP классе-шаблонный
источник