c++ - 将 const uint * 的值复制到 C++ 中的另一个变量

标签 c++ pointers constants sdl-2 uint

我想我有一个普遍的问题。

我目前正在学习 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/

相关文章:

c++ - 为什么这个程序没有抛出任何错误?

c - 传入C的二维数组

c - 快速排序指向结构的指针数组

c - 危险的指针转换导致失去 const 资格

c++ - 重载运算符 = 按值或引用返回?

c++ - basic_string::_S_construct null 无效 - 不明白为什么?

c++ - StringCchVPrintf 与 sprintf_s

c++ - 检查是否可以释放指针

c++ - 常量在这里真的合适吗,还是有另一种方法? - C++

c++ - memcpy,其中大小在编译时已知