Оказывается, если компилятор квохчет, что кудах, при преобразовании из конст чтототам в что то там происходит потеря квалификаторов, то можно сказать ему const_cast хуе мое. Великий успех для лётчика, я считаю.
суть в том. Функция const wcRoute* groupRoute() const {return route;} — паблик. Она возвращает private значение route в классе wcColumn. Я передаю указатель на текущий экземляр wcColumn. Он принимается в wcColumn *_currentColumn;
Смотри, суть в чем. Есть колонна описываемая в классе wcColumn. Как только в ней юнитов становится менее 51% от изначального количества, то wcColumn инициализирует режим паники. Вызывается функция checkedPanic которая проверяет не находится ли колонна уже в режиме паники. Если не находится, то запускается функция panic из класса LandGroup(он описывает вспомогательный функционал как для отдельных юнитов, так и для колонн, но и привязан так же к wcColumn) которой в качестве параметра уходит указатель на текущий экземпляр wcColumn. Далее в LandGroup проверяется возможность включить режим паники. Если можно, то создается класс PanicState, конструктор которого принимает указатель на LandGroup. А в LandGroup имеется переменная в коротой лежит указатель на wcColumn. Потому что PanicState работает с LandGroup и wcColumn. Далее в PanicState я должен иметь доступ ко всему маршруту колонны(результат вызова groupRoute) для того, что бы считать некоторую математику.
знаешь, ты, похоже, таки ебанат. я тебе ещё в /8 попросил код показать, чтобы указать то место где ты вызываешь неконстантную функцию у константного объекта. и вот, спустя сорок минут, ты, блядь, выдаёшь на гора сочинение «как я программил этим летом». даже читать не хочется
const_cast — UB. В одном месте ты компилятору явно говоришь, что у тебя там константа, а в другом нарушаешь эту гарантию. И хуево с точки зрения дизайна, да.
reinterpet_cast — тоже пиздец, ибо очень легко выстрелить себе в ногу, но иногда у него есть свои применения.
хм. упоминание union — отдельная статья кодекса о программистких правонарушениях и карается разрубанием тела на пополам и быстрой установки верхней части на раскалённую сковороду, дабы кровеносные сосуды прижглись и провинившийся ещё мог дополнительно подумать над своим поведением
можно даже static_cast
А почему можно?
anus_cast
ну, на самом деле...
За конст_каст надо отрывать руки и хуярить ими по еблищу, пока яйца не отвалятся.
Нельзя.
бляяя. ты выбрал самый хуёвый путь познания, лётчик
дай код посмотреть, я тебе скажу как сделать правильно и наставлю на путь истинный
Судя по его предыдущим постам, ему лучше не писать код вообще.
а то так и вырастешь быдлокодером
дедфуд, уходи, здесь я плюсобог
Просить показать код, это все равно что просить показать пиззду
судя по моему коду годичной давности — мне лучше не писать код вообще. и что?
Ты — только здесь, а я — везде.
У тебя оно другого рода.
суть в том. Функция const wcRoute* groupRoute() const {return route;} — паблик. Она возвращает private значение route в классе wcColumn. Я передаю указатель на текущий экземляр wcColumn. Он принимается в wcColumn *_currentColumn;
Не пиши больше код никогда, встань, подойди к окну и заплачь.
Я конечно понимаю, что ты адовый гуру. так тоже нельзя делать?
никакой он не гуру, это всё сурковская пропаганда
куда ты передаёшь «указатель на текущий экземляр wcColumn»? что ты делаешь с результатом вызова groupRoute?
Ну просто пилю тут игрушку за еду, как хобби же. Движку лет 15 уже. Он времен Фланкер 2.0. Это упоротое ебание трупа упоротыми быдлокодерами.
осколько открытий чудных в c++
Личкрафты писаны на деньги Госдепа на съемных квартирах.
Смотри, суть в чем. Есть колонна описываемая в классе wcColumn. Как только в ней юнитов становится менее 51% от изначального количества, то wcColumn инициализирует режим паники. Вызывается функция checkedPanic которая проверяет не находится ли колонна уже в режиме паники. Если не находится, то запускается функция panic из класса LandGroup(он описывает вспомогательный функционал как для отдельных юнитов, так и для колонн, но и привязан так же к wcColumn) которой в качестве параметра уходит указатель на текущий экземпляр wcColumn. Далее в LandGroup проверяется возможность включить режим паники. Если можно, то создается класс PanicState, конструктор которого принимает указатель на LandGroup. А в LandGroup имеется переменная в коротой лежит указатель на wcColumn. Потому что PanicState работает с LandGroup и wcColumn. Далее в PanicState я должен иметь доступ ко всему маршруту колонны(результат вызова groupRoute) для того, что бы считать некоторую математику.
знаешь, ты, похоже, таки ебанат. я тебе ещё в /8 попросил код показать, чтобы указать то место где ты вызываешь неконстантную функцию у константного объекта. и вот, спустя сорок минут, ты, блядь, выдаёшь на гора сочинение «как я программил этим летом». даже читать не хочется
Вот сам вызов: _columnRoute = const_cast<wcRoute*>(_currentColumn→groupRoute()); где wcRoute *_columnRoute;
ну так объяви «const wcRoute *_columnRoute» и убери нахуй свой const_cast
Ну я же ему сказал.
ты не привёл достаточной аргументации
Ну дедфуд как мастер блять даосист, а ты как инструктор хартман
Мы на псто, какая нахуй аргументация?
Кстати, кто пояснит, почему так хуев const_cast и вообще касты чем хуевы?
обитание на псто не даёт тебе права быть невоспитанным быдлом
Пиздец.
тем что он приводит к Undefined Behaviour
const_cast — UB. В одном месте ты компилятору явно говоришь, что у тебя там константа, а в другом нарушаешь эту гарантию.
И хуево с точки зрения дизайна, да.
reinterpet_cast — тоже пиздец, ибо очень легко выстрелить себе в ногу, но иногда у него есть свои применения.
Остальное — не в двух словах.
а вот static_cast и dynamic_cast вполне имеют право на существование, но опять же, как правило означают что ваш дизайн — говно и не нужен
/36
Union-style cast забыли
!
хм. упоминание union — отдельная статья кодекса о программистких правонарушениях и карается разрубанием тела на пополам и быстрой установки верхней части на раскалённую сковороду, дабы кровеносные сосуды прижглись и провинившийся ещё мог дополнительно подумать над своим поведением
*напополам
Иди нахуй, я на нем не так давно такую красотулечку написал, что прям вообще.
ну всё, пиздец, дедфуд скурвился. что дальше? на питоне писать начнёшь?
На C#.
(и, кстати, писал)
>очень большой культ инструмента
>специалист
да ты говноед и мудак, а не специалист
да я ему давно http://aruslan.livejournal.com/79265.htm... тычу он всё не осилит лол
эй, дизайнер, запили невырвиглазный гуй вместо кутишного убожества
пришел радикальный дедфуд, и рассказал, как правильно всем не жить.
s/пришел/набежал-ворвался/