Ошибки, баги, вопросы - страница 3386

 
Тиковый график стаканаСтранное поведение тикового графика в стакане
 
Koldun Zloy #:

Тогда так:

Мне проще макрос-копипасту делать. Но это все равно костыль MQ.

 
fxsaber #:

Мне проще макрос-копипасту делать. Но это все равно костыль MQ.

На этом форуме почему-то принято называть костылём всё что захочется. Когда считают, что MQ должны были что-то написать за них.

Костылём называется решение, которое чем-то ограничено, работает только в определённых условиях.

Обычно программисты стараются их избегать, и используют только как временный вариант, или когда по другому никак.

А это вполне рабочий код, который работает всегда и делает то что Вам нужно.

Я, например, не хочу платить эффективностью за сохранение информации о типах после компиляции.

 
Koldun Zloy #:

На этом форуме почему-то принято называть костылём всё что захочется. Когда считают, что MQ должны были что-то написать за них.

Костылём называется решение, которое чем-то ограничено, работает только в определённых условиях.

Обычно программисты стараются их избегать, и используют только как временный вариант, или когда по другому никак.

А это вполне рабочий код, который работает всегда и делает то что Вам нужно.

Я, например, не хочу платить эффективностью за сохранение информации о типах после компиляции.

Еще добавлю

"Костыль" - назыают некое временное порой не очень красивое решение.

Бывает "золотой костыль" - это когда "костыльное"  решение весьма красиво.  

Самое ужасно что порой костыли живут очень долго, иногда до самой смерти самого ПО.

 
Koldun Zloy #:

Я, например, не хочу платить эффективностью за сохранение информации о типах после компиляции.

Доказательство, что это есть сейчас.

class A {};
class B : public A {};
class C : public A {};

void OnStart()
{
  A* a = new B;
  
  Print(dynamic_cast<B*>(a) != NULL); // true
  Print(dynamic_cast<C*>(a) != NULL); // false
  
  delete a;
}
 
fxsaber #:

Доказательство, что это есть сейчас.

dynamic_cast всего лишь сравнивает указатели на таблицу виртуальных функций. Ничего о типах он не знает.

 
Koldun Zloy #:

dynamic_cast всего лишь сравнивает указатели на таблицу виртуальных функций. Ничего о типах он не знает.

Вы вышли из зоны моей компетентности, поэтому не могу комментировать.

 
Koldun Zloy #:

dynamic_cast всего лишь сравнивает указатели на таблицу виртуальных функций. Ничего о типах он не знает.

А вы видели их реализацию? Вообще-то, в плюсах, а это писано на плюсах, оператор typeid и dynami_cast используют RTTI.
 
Vladimir Simakov #:
А вы видели их реализацию? Вообще-то, в плюсах, а это писано на плюсах, оператор typeid и dynami_cast используют RTTI.

Их реализацию не видел, но в плюсах работает именно так.

А на чём это написано вообще не к месту.

Причина обращения: