나는 힙에 객체를 만들고 그것이 잘 돌아 갔는지 여부를 나타내는 부울을 반환하는 메소드를 가지고있다. (1)에서 내 bool 할당에 대해 100 % 확실하지 않습니다. 이게 합법적인가?Bool 할당 연산자
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;
감사
이 방법을 사용해도 논리가 흐려집니다. NULL (또는 최신 C++에서는 nullptr)을 테스트하십시오. – crashmstr
일부 컴파일러에서 경고를 원하지 않으면'if ((ret =! mRenderBackend)) '를 사용하십시오. – Dani