Size: a a a

2020 July 23

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Anatoly Shirokov
если значение value известно будет только в рантайме, то никакой шаблонной магии не выйдет.
Есть llvm jit)0
источник

AS

Anatoly Shirokov in supapro.cxx
ну, шаблоны так или иначе идут уже в пешее путешествие, если значение будет известно только во время выполнения
источник

Д

Дмитрий in supapro.cxx
Понятно, значит буду switch писать. Всем спасибо
источник

AS

Anatoly Shirokov in supapro.cxx
Дмитрий
Понятно, значит буду switch писать. Всем спасибо
switch эффективен (на современных компиляторах идет либо двоичный поиск O(log N) либо вообще O(1)), так что здесь быстродействие не пострадает
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Anatoly Shirokov
ну, шаблоны так или иначе идут уже в пешее путешествие, если значение будет известно только во время выполнения
источник

AS

Anatoly Shirokov in supapro.cxx
о господи
источник

Д

Дмитрий in supapro.cxx
жесть)
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Anatoly Shirokov
switch эффективен (на современных компиляторах идет либо двоичный поиск O(log N) либо вообще O(1)), так что здесь быстродействие не пострадает
Ну там скорее проблема в том, что апи функции менять надо будет
источник

m🇲

micky 🇲🇽🚜🇷🇺... in supapro.cxx
подскажите пожалуйста есть задача:
функцию
CreateFigure()
, которая в зависимости от содержимого входного потока создаёт
shared_ptr<Rect>
,
shared_ptr<Triangle>
или
shared_ptr<Circle>
.
class Circle, class Rect, class Triangle
наследники класса
myClass

как можно это реализовать? три перегрузки функции? или возвращаемый тип
shared_ptr<myClass>
?

как примерно это должно выглядеть?
источник

Д

Дмитрий in supapro.cxx
блэээ я не учел что я даже switch не смогу  использовать, т.к. наперед не знаю какой конкретно тип будет возвращаться из фйнкции
источник

m🇲

micky 🇲🇽🚜🇷🇺... in supapro.cxx
Дмитрий
блэээ я не учел что я даже switch не смогу  использовать, т.к. наперед не знаю какой конкретно тип будет возвращаться из фйнкции
if-else в помощь =)
источник

Д

Дмитрий in supapro.cxx
micky 🇲🇽🚜🇷🇺
if-else в помощь =)
он тут не помощник (
источник

m🇲

micky 🇲🇽🚜🇷🇺... in supapro.cxx
а если возвращать[дополнительно] enum class type() по которому ты поймешь что за тип и скастишь в этот тип
источник

Д

Дмитрий in supapro.cxx
Получается, что из такой "метаинформации" объект уже не соберешь? У меня есть индификатор типа, его размер, сами данные, но в байтах, из этого я норм данные всё равно не получу(
источник

Д

Дмитрий in supapro.cxx
Только если наперед явно указывать во что кастить
источник

m🇲

micky 🇲🇽🚜🇷🇺... in supapro.cxx
Дмитрий
Получается, что из такой "метаинформации" объект уже не соберешь? У меня есть индификатор типа, его размер, сами данные, но в байтах, из этого я норм данные всё равно не получу(
ну так ты для этого и передаешь тип
источник

m🇲

micky 🇲🇽🚜🇷🇺... in supapro.cxx
свитч по этому type там кастишь и работаешь
источник

Д

Дмитрий in supapro.cxx
micky 🇲🇽🚜🇷🇺
свитч по этому type там кастишь и работаешь
Так мне надо вернуть эти данные из функции
источник

CD

Constantine Drozdov in supapro.cxx
micky 🇲🇽🚜🇷🇺
подскажите пожалуйста есть задача:
функцию
CreateFigure()
, которая в зависимости от содержимого входного потока создаёт
shared_ptr<Rect>
,
shared_ptr<Triangle>
или
shared_ptr<Circle>
.
class Circle, class Rect, class Triangle
наследники класса
myClass

как можно это реализовать? три перегрузки функции? или возвращаемый тип
shared_ptr<myClass>
?

как примерно это должно выглядеть?
Не понимаю
возвращаемый тип функции shared_ptr<Shape>, да
источник

CD

Constantine Drozdov in supapro.cxx
shared_ptr<Triangle> является shared_ptr<Shape>
источник