我有一个方法,我在堆上创建对象并返回一个布尔值,指示它是否顺利。尽管在 (1) 中,我对我的布尔分配不是 100% 确定的;这是合法的吗?
bool ret = true;
if (ret = !mRenderBackend) // make sure mRenderBackend is NULL
{
if (mEngineSettings.GetRenderBackend() == OPENGL)
ret = mRenderBackend = mMemoryAllocator.AllocateObject<RenderOpenGL>(); // (1). AllocateObject returns either NULL or object address
}
return ret;
谢谢