Unreal source code 중, 다음 코드를 발견했다. 왜 Object가 아닌 !!Object를 반환할까 궁금했다. 결국 같은 결과가 아닌가?싶었다. bool Succeeded() const { return !!Object; } 결론적으로, !!를 사용하는 이유는 Object의 포인터가 아닌 안전하게 bool값을 명시적으로 반환하기 위해서라고 한다. 그냥 Object를 반환하여도 같은 결과를 나타낼 수 있지만,bool을 반환한다는 의도를 명확히 하고, 타입 안정성을 보장하려는 목적이라고 한다.