人们普遍认为
#include <Windows.h>
与
#include <bits/stdc++.h>
头文件一样不好。 在本文中,您将了解 Windows.h 有用性背后的真相,以及它在 C++ 中是好是坏。
因为 windows.h 包含/解析每个标准头(其中大多数是不必要的且不可移植的),并且在与 using namespace std; 结合使用时甚至更多,所以它在 C++ 程序的命名空间中具有大量通用名称,如 next ,这让您无法 低效地使用其他功能。
然而,即使它的执行与bits/stdc++.h相同并使用命名空间std,这也是Win32程序的主要要求; 合并。
在C++程序中定义NOMINMAX以增强Windows.h的有效性
与 windows.h 相关的 MSDN 文档明确定义了要包含哪些头文件来执行特定功能。 仅当您在通过宏包含它之前禁用其不必要的功能时,才包含 windows.h 并不是一个坏习惯。
在 C++ 程序中包含 windows.h 之前定义 NOMINMAX,否则,您将可以访问将与 std::min 和 std::max 交互的 min 和 max 宏。
windows.h 是特定于操作系统的标头,并随 WSDK(Windows 软件开发工具包)一起提供。
建议使用它来增加 Windows 下 #include 指令的实用性; 然而,对于入门级或中级 C++ 开发人员来说,它可能极其复杂,因此他们应该使用 windows.h。
一般来说,在任何以函数为目的的情况下都不要使用 windows.h,因为在 C++ 中良好编程的关键是永远不要使用宏来代替函数。
#
define
NOMINMAX
#
include
<Windows.h>
#
include
<iostream>