. , , shared_ptr. , , , - :
unsigned Memory::ReadUnsignedInt(unsigned address) {
unsigned ret;
ReadProcessMemory(m_hProcess.get(), (void *)address, &ret, sizeof(ret), NULL);
return ret;
}
std::vector<char> Memory::ReadBytes(unsigned address, int num) {
std::vector<char> ret(num);
ReadProcessMemory(m_hProcess.get(), (void *)address, &ret[0], num, NULL);
return ret;
}
ReadUnsignedInt :
template <class T>
T Memory::Read(unsigned address) {
T ret;
ReadProcessMemory(m_hProcess.get(), (void*)address, &ret, sizeof(ret), NULL);
return ret;
}
, , :
int x = Read<int>(wherever);
char a = Read<char>(wherever);
:
template <class T>
Memory::Read(unsigned address, T &t) {
ReadProcessMemory(my_hProcess.get(), (void *)address, &t, sizeof(t), NULL);
};
, :
Read(wherever, some_int);
Read(somewhere, some_long);
..
char, , , - V++ ( ) , " ", , , , ReadBytes , , . , , , ReadBytes , "" "" .
, - --, , . , , .