Size: a a a

2020 April 13

DF

Dollar Føølish in pro.cxx
Мне кажется валидный
источник

DF

Dollar Føølish in pro.cxx
У тебя же после каста поинтер конкретного типа
источник

PK

Pavel Kazakov in pro.cxx
dynamic_cast<C*>(a)->f(); -- я даже коммент оставил рядом для наглядности, клэнг правильно думает следующее:
hidden overloaded virtual function 'B::f' declared here: different qualifiers (unqualified vs 'const')
источник

IA

Igor Akhmetov in pro.cxx
Pavel Kazakov
dynamic_cast<C*>(a)->f(); -- я даже коммент оставил рядом для наглядности, клэнг правильно думает следующее:
hidden overloaded virtual function 'B::f' declared here: different qualifiers (unqualified vs 'const')
Это предупреждение -Woverloaded-virtual, на валидность кода не влияет.
источник

DF

Dollar Føølish in pro.cxx
А что происходит то тут?
источник

PK

Pavel Kazakov in pro.cxx
C не перегружает метод из B, но к поинтеру на него можно скаститься и вызвать этот метод
источник

PK

Pavel Kazakov in pro.cxx
в общем, именно поэтому надо override везде писать, но не суть
источник

IA

Igor Akhmetov in pro.cxx
Pavel Kazakov
C не перегружает метод из B, но к поинтеру на него можно скаститься и вызвать этот метод
Вы кастите не пойнтер на метод, а пойнтер на класс. Он совершенно правильно кастится к C. Дальше ищете f внутри класса, находите его в C и вызываете.
источник

PK

Pavel Kazakov in pro.cxx
с тем, что каст к C проходит у меня нет вопросов, вопрос вызвало то, что f-то не перегружен
источник

PK

Pavel Kazakov in pro.cxx
но вообще да, спасибо, выглядит валидно, хоть и код говно
источник

DF

Dollar Føølish in pro.cxx
Кажется в стародавние времена это называлось доминанс
источник

DF

Dollar Føølish in pro.cxx
В книжке девхёрста есть такой термин
источник

DF

Dollar Føølish in pro.cxx
Когда имя в дочернем классе задоминировало родительское
источник

DF

Dollar Føølish in pro.cxx
Ещё можно поиграть на том, что оверлоад резолюшн никогда не выходит за пределы скоупа в поисках лучшего матча
источник

DF

Dollar Føølish in pro.cxx
С++ очень сложный езык
источник

PK

Pavel Kazakov in pro.cxx
Dollar Føølish
Кажется в стародавние времена это называлось доминанс
ууу, спасибо, что-то в памяти щелкнуло
https://en.wikipedia.org/wiki/Dominance_(C%2B%2B)
источник

DF

Dollar Føølish in pro.cxx
Не за что)
источник

AN

Alexander N in pro.cxx
Konstantin
я видел очень успешный проект, в котором веб-фронт написан на плюсах и скомпилен под webassembly
Нужно учитывать одно но. Работа с DOM через то же API что и у js идёт, поэтому прироста нет. Прирост наверное будет если рисовать самому все через WebGL
источник

DF

Dollar Føølish in pro.cxx
Есть сдл в вебассембли
источник

K

Konstantin in pro.cxx
Alexander N
Нужно учитывать одно но. Работа с DOM через то же API что и у js идёт, поэтому прироста нет. Прирост наверное будет если рисовать самому все через WebGL
всё рисовалось на opengl, DOM вообще не используется
источник