我正在使用矢量和链接列表开发一个类项目。但是在C ++中为了应用它们,我需要在标题中包含以下代码。
#include<list>
#include<vector>
我知道这两者都是标准模板库的一部分。所以我想做一个
#include<StandardTemplateLibrary>
保存线条。但在我看的每个地方,我都没有看到添加到我的代码的单一命令,我尝试过cstdlib,stdlib,cstdlib.h,但它们都没有包含我需要的关键字。
我是否可以在项目中添加一个单独的预处理器来执行这两个操作?或者我只需要包括两者?如果你能引用我的来源阅读,那将非常感激。
答案 0 :(得分:5)
在某些编译器上,包括<bits/stdc++.h>
可能会执行您正在寻找的内容。
但请注意,它会使您的代码不可移植(它可能无法在其他编译器上运行,甚至不能在同一编译器的不同版本上运行)。在某些情况下这是可以的。
有关为何这样做可能不是一个好主意的更多信息:Why should I not #include <bits/stdc++.h>
?
答案 1 :(得分:4)
我是否可以在项目中添加一个单独的预处理器来执行这两个操作?或者我只需要包括两者?
没有,这是故意的。标准库实现应该对实现的组件具有最小的相互依赖性。
您应该始终为明确使用的#include
组件指定std
语句。
不要被臭名昭着的#include <bits/stdc++.h>
欺骗。
答案 2 :(得分:3)
包含大量未使用的标头会大大增加构建时间!仅添加所需文件
答案 3 :(得分:1)
您可以简单地为自己创建一个预编译的头文件,以便加速构建。这是上个千年的流行。
答案 4 :(得分:1)
您可以使用:
#include<bits/stdc++.h>
甚至每个人都建议。但它不是标准的头文件。 它的缺点是它是
答案 5 :(得分:0)
您可以尝试:
#ifndef ALL_H_FILES
#define ALL_H_FILES
#include <iostream>
#include <vector>
#include <list>
//include other libraries
#endif
在主文件上,您可以:#include“ ALL_H_FILES.h”