目的是检查来自 的返回值FUNCTION
。大概FUNCTION
是这样声明的:
bool FUNCTION();
其中返回值 ( bool
) 表示成功或失败。假设您有一个连接到数据库的函数:
bool ConnectToDatabase();
ConnectToDatabase
将尝试连接到数据库,但在实际代码中会发生坏事,并且函数并不总是成功。如果我们将这段代码放在更大的上下文中:
ConnectToDatabase();
databasePointer->GetTheTable();
您可以看到我们是否无法连接到数据库,尝试附加到其中的表永远不会成功,实际上数据库指针 ,databasePointer
甚至可能无效。试图附加到未连接数据库中的表肯定只会以泪水告终。
因此,我们检查以确保我们调用的函数符合我们的预期,然后继续编写假设它们执行的代码:
if (!ConnectToDatabase())
return false
databasePointer->GetTheTable();
您发布的示例代码大致相同,但有一些曲折:
int __stdcall WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCMDline, int nCmdShow){
//HWND initialization
if(!InitMainWindow(hInstance, nCmdShow)){
return 0;
}
InitMainWindow
在这种情况下,可能是一个功能不止一件事:
- 它创建主窗口。
- 它一直等到用户使用完主窗口
- 主窗口关闭后,
InitMainWindow
返回
所以在这里你看到调用InitMainWindow
可能需要几分钟或几小时才能返回,当它返回时,程序就该退出了。
另一方面,InitMainWindow
可能就这么简单——它只是初始化主窗口并立即返回。InitMainWindow
在这种情况下,如果由于某种原因失败,我们不想开始使用该窗口。