Я использую библиотеку SDL2 на Windows 10 с компилятором MSV C (он же Visual C ++) для личного проекта. У меня проблемы при попытке ввода. Код выглядит следующим образом, и его происхождение происходит от здесь :
// InputManager.hpp
#include <SDL2/SDL.h>
class InputManager
{
public:
static InputManager *This();
// ...
private:
InputManager(); // this is a singleton class.
const Uint8* currentkb;
Uint8* prevkb;
int keyLength;
// ...
};
// InpuManager.cpp
InputManager* InputManager::This()
{
static InputManager ret;
return ret;
}
InputManager::InputManager()
{
currentkb = SDL_GetKeyboardState(&keyLength);
prevkb = new Uint8[keyLength];
memcpy(prevkb, currentkb, keylength);
}
// ...
Я хочу выполнить копирование данных из currentkb в prevkb без использования memcpy и, возможно, используйте более дружественный к C ++ (который работает в C ++, но не в C) и безопасный способ.