我想我有一个普遍的问题。
我目前正在学习 C++ 和 SDL 2.0。 SDL 提供了一个函数,该函数返回一个指向包含所有键状态的 const uint * 的指针。
这些是我想使用的变量:
const Uint8* oldKeyState;
const Uint8* currentKeyState;
在构建我的 input.cpp 时:
currentKeyState = SDL_GetKeyboardState(&this->length);
oldKeyState = currentKeyState;
在我使用的 Update() 方法中:
oldKeyState = currentKeyState;
currentKeyState = SDL_GetKeyboardState(NULL);
但是,我没有复制最后的值,而是给出一个指向 oldKeyState 的指针,它又指向当前的键状态..
那么如何将实际值从变量指针复制到当前和旧键状态?我不希望指针处于我的旧键状态,因为我将无法检查以前的状态是否为 UP 而新状态是否为 DOWN。
最佳答案
Uint8 oldKeyState[SDL_NUM_SCANCODES];
// ...
memcpy(oldkeystate, currentKeyState, length);
关于c++ - 将 const uint * 的值复制到 C++ 中的另一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20322230/