Size: a a a

2020 August 13

VS

Vladimir Suisei in supapro.cxx
Alexey Dashko
Всем привет. Подскажите реально ли провернуть такую вещь: Вызвать метод одного класса через bind подсунув ему в качестве первого аргумента не сам класс, а другой объект не наследник. Мне просто надо вызвать метод класса не вызывая конструктор этого класса. Метод естественно не статический
Как ты можешь не статический метод класса вызывать, не имея объект класса? Ведь если есть объект, значит конструктор был вызван
источник

VS

Vladimir Suisei in supapro.cxx
Тут мне кажется что-то с дизайном
источник

VS

Vladimir Suisei in supapro.cxx
Побитый Кирпич
Там видимо static_cast нужен
И как я скастую в енум без уб?
источник

AP

Alexander Potapov in supapro.cxx
Vladimir Suisei
Как ты можешь не статический метод класса вызывать, не имея объект класса? Ведь если есть объект, значит конструктор был вызван
Ну вот как я выше написал можно
источник

AD

Alexey Dashko in supapro.cxx
Да тут траблы с дизайном я не спорю. Но интересно реально ли такое провернуть. Там просто легаси и лопатить не охота, а метод вызвать нужно
источник

VS

Vladimir Suisei in supapro.cxx
Alexander Potapov
Ну вот как я выше написал можно
Выглядит опасно
источник

AP

Alexander Potapov in supapro.cxx
Сама задача в принципе не совсем безопасно выглядит
источник

AD

Alexey Dashko in supapro.cxx
В таком случае нужно как-нибудь хитро с пямятью разобраться что бы ничего не сломать
источник

VS

Vladimir Suisei in supapro.cxx
Alexey Dashko
В таком случае нужно как-нибудь хитро с пямятью разобраться что бы ничего не сломать
Сколько миллионов программистов думали так же и потом внезапно падали
источник

AP

Alexander Potapov in supapro.cxx
Alexey Dashko
В таком случае нужно как-нибудь хитро с пямятью разобраться что бы ничего не сломать
Берешь лейаут класса (хорошо, если он не полиморфный конечно), создаёшь свой такой же, заполянешь как вздумается и кастишь
источник

AP

Alexander Potapov in supapro.cxx
Можно ещё static assertов на валить на проверку, что классы равны по размеру, поля публичные те же и тд
источник

AD

Alexey Dashko in supapro.cxx
Есть страшный легаси класс. Он тянет миллион зависимостей, а мне нужно вызвать один метод для тестирования буквально один раз. Постоянно это работать не будет. Надо покапаться
источник

AD

Alexey Dashko in supapro.cxx
Окей. Попробую так
источник

AD

Alexey Dashko in supapro.cxx
Думал через bind может как проще, хотя по факту, это же тоже самое
источник

AP

Alexander Potapov in supapro.cxx
bind тебе ничего тут не сделает.
источник

AP

Alexander Potapov in supapro.cxx
this аргумент через него не поменяешь
источник

AD

Alexey Dashko in supapro.cxx
Я просто не был уверен какой параметр требует метод класса. Я так понимаю указатель на сам класс. а значит пришлось бы делать такой же каст как ты написал
источник

AF

Aidar Fattakhov in supapro.cxx
Alexey Dashko
Да тут траблы с дизайном я не спорю. Но интересно реально ли такое провернуть. Там просто легаси и лопатить не охота, а метод вызвать нужно
Нет нельзя такое провернуть
источник

КП

Котеечко Пухнастиньк... in supapro.cxx
Друзья, всем привет. у меня есть несколько странный вопрос:
Смотрите, в GNU есть такая функция - realloc, которая любезно переразметит существующий чанк в куче, верно?
я задумался о том, что она сперва должна узнать, какого размера существующий чанк, что бы это сделать.

А нет-ли, случаем, в либси функции, которая просто вернет размер чанка? Хм)
источник

AF

Aidar Fattakhov in supapro.cxx
нет, но есть в твоем аллокаторе возможно
источник