添加额外的标题会使程序变慢吗

  • 本文关键字:程序 标题 添加 c++ time
  • 更新时间 :
  • 英文 :


例如,以下两个程序的执行时间会节省吗?

#include <iostream>
int main()
{
int a,b;
std::cin >> a >> b;
std::cout << a+b;
return 0;
}
and
#include <ctime>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cassert>
#include <time.h>
#include <algorithm>
#include <iostream>
#include <vector>
int main()
{
int a,b;
std::cin >> a >> b;
std::cout << a+b;
return 0;
}

如果是这样的话,总是包含一堆头文件是一种好的做法吗?如何测试执行一个程序需要多长时间?使用预定义的输入。

添加额外的头是否会使程序变慢?

否。当然,现在会有人带着一些角落的案例来反驳这一点。但是不,额外的头一般不会使C或C++程序变慢。

如果是的话,总是包含一堆头文件是一种好的做法吗?

不要包括"一堆"。包括你使用的那些。包含额外的标头会增加编译时间,如果标头来自您自己的项目,则每当您触摸任何标头时,都可能导致重新编译项目中的许多对象。

如何测试执行程序需要多长时间?

使用秒表。或time()。或CCD_ 2。或QueryPerformanceCounter()。很多方法。

例如,以下两个程序的执行时间会相同吗?

是。包括额外的头文件不会影响程序的执行时间。

头文件在编译时处理。所以他们(通常)不会减慢你的代码。

可能存在一些角落的情况,包括特定的标头可能会获得某种算法的不同实现,这本质上比没有该标头的不同实现慢。

如果是的话,总是包含一堆头文件是一种好的做法吗?

否。您应该为正在使用的每种类型都包含头文件,不能多也不能少。

如何测试执行程序需要多长时间?使用预定义的输入。

这样做有几种可能性。您可以在评测工具中运行程序,也可以自己测量时间(在脚本中)。

添加额外的头是否会使程序变慢?例如,以下两个程序的执行时间是否相同?

添加额外的头不会影响程序的运行时间。然而,这将影响编译时间,因为编译器现在必须在程序中包含这些额外的头。

如果是的话,总是包含一堆头文件是一种好的做法吗?

最好只包含将在项目中使用的头文件。此外,请注意不要包含C版本的标头和C++版本的标头,否则可能会遇到问题。

如何测试执行程序需要多长时间?使用预定义的输入。

我建议您查看ctime库:http://www.cplusplus.com/reference/ctime/

请记住,执行时间是特定于您的机器的。

我认为这会使程序变慢,因为当你调用像coutcin这样的函数时,编译器会在程序员声明的头文件中找到它

更多的头文件需要更多的时间来找到函数定义

此外,如果包含额外的头文件不会增加编译时间,那么ide(集成开发环境)应该省略包含系统的头文件

希望这是有意义的

最新更新