我正在使用这个成员函数来获取指向对象的指针:
virtual Object* Create()
{
return new Object();
}
Run Code Online (Sandbox Code Playgroud)
它是虚拟的,所以我可以得到指向派生对象的指针,现在我这样做:
virtual Object* Create()
{
return new Foo();
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,但我想做这样的事情以防止任何错误并使其更容易,这样我就不必每次创建新类时都重写该函数:
virtual Object* Create()
{
return new this();
}
Run Code Online (Sandbox Code Playgroud)
我试图找到如何做到这一点,但找不到任何有用的东西,也许这是不可能的。我在 C++17 中使用 MSVC 编译器
我正在尝试使用 C++ 创建一个游戏,我想为 fps 创建限制,但我总是得到比我想要的更多或更少的 fps。当我查看具有 fps 限制的游戏时,它总是精确的帧速率。尝试使用Sleep() std::this_thread::sleep_for(sleep_until). 例如Sleep(0.01-deltaTime),获得 100 fps 但最终得到 +-90fps。当任何睡眠不精确时,这些游戏如何如此精确地处理 fps?我知道我可以使用无限循环来检查时间是否过去,但它使用了 CPU 的全部功率,但我想在没有 VSync 的情况下通过此限制减少 CPU 使用率。
我可以ref在删除对象后使用,如本例所示还是不安全?
struct Object
{
int value;
};
void function()
{
Object* object = new Object();
int& ref = object->value;
delete object;
ref = 50;
}
Run Code Online (Sandbox Code Playgroud)