Форум программистов, компьютерный форум CyberForum.ru

Вызов функции-члена класса по адресу в памяти - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Угадайка с наименьшем количеством шагов http://www.cyberforum.ru/cpp-beginners/thread1496007.html
Доброго времени суток , сижу сижу , не выходит у меня что-то. Игра угадайка , пользователь вводит число от 1 до 100 , компьютер должен угадывать с наименьшем количеством шагов. К примеру. Я выбрал число 14. Компьютер выдает 50? Я говорю ему через switch допустим меньше. Он делит пополам 50 и выдает 25 и спрашивает , я ему опять меньше, он выдает 12 или 13, я ему больше и тут, если я не...
C++ Как передать в функцию русский текст Есть такие функции Append ( const uint16 * aText,int32 aLength = -1 ) Append ( const char * aText,int32 aLength = -1,int32 aCodePage = 0 ); Append the eight-bit string aText. If aLength is -1 the text must be null-terminated, otherwise the length is aLength. A code page of 0 (the default) implies UTF-8. Как в aText запихать русский текст? В любую из двух Добавлено через 40... http://www.cyberforum.ru/cpp-beginners/thread1495998.html
Создать функции добавления и удаления узла из бинарного дерева C++
Требуется описать функции добавления и удаления узла в бинарном дереве. Вот исходный код. Извиняюсь за комментарии: #include <cstddef> # include <conio.h> #include <stdio.h> #include <iostream> using std::cout; using std::endl; using std::cin; //Íàøà ñòðóêòóðà struct node
C++ бинарные деревья для начинающих
Помогите пожалуйста! нужно написать бинарное дерево на задания: 1. Реализуйте программу, в которой выполняются все основные операции с бинарным деревом. 2. Найдите количество четных элементов бинарного дерева. Укажите эти элементы и их уровни. 3. Найдите сумму элементов сбалансированного дерева, находящихся на уровне k.
C++ Постройте таблицу значений для функции http://www.cyberforum.ru/cpp-beginners/thread1495926.html
Постройте таблицу значений функции для . Решить задачу тремя способами: использовать операторы for, while, do while.
C++ Определить лежит ли точка внутри, вне или на границе заштрихованной области Задание № 2 Дана точка на плоскости с координатами (x, y). Составить программу, которая будет выводить на экран одно из сообщений «Да», «Нет», «На границе». В зависимости от т ого, лежит ли точка внутри, вне или на границе заштрихованной области. Области задаются графически следующим образом: подробнее

Показать сообщение отдельно
sion5
1 / 1 / 0
Регистрация: 15.10.2013
Сообщений: 42
09.07.2015, 22:10  [ТС]     Вызов функции-члена класса по адресу в памяти
Немного подразобрался... Спасибо за советы и ссылки.
"реверс-инжениринг" макросов от SKSE тоже помог.
Большой затык был с кастингом void указателя в указатель на функцию-член класса. Просто так каститься не хотел ни в какую... Нагуглил много сообщений, в которых пишут, что так кастить и нельзя вовсе. Мол, у указателей на член класса даже размер другой (8 вместо 4).
Потом оказалось, что таки можно, если осторожно... Во всяком случае, иногда. Скастить можно через юнион или через указатель на указатель...

_Phonebook *_book = (_Phonebook *)(0x0022F238);

typedef void (_Phonebook::*printPhoneFunc)(const char *);

static const unsigned long long address = 0x004016D0;
printPhoneFunc *p = (printPhoneFunc *)&address;

(_book->*(*p))("Ragana");
 
Текущее время: 09:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru