我在程序中多次初始化数组的所有元素。
我正在使用此代码:
int a[100000]={};
上面的代码是否比此代码更快:
for(int i=0; i<100000; i++)
{
a[i]=0;
}
或者有没有其他方法可以做到这一点比两者都快?
答案 0 :(得分:0)
通常编译器用于这样的定义(当阵列具有自动存储持续时间时)
int a[100000]={};
生成相当于
的对象代码memset( a, 0, sizeof( a ) );
例如,IBM Mainframe中的AFAIK,此函数使用一个mashine指令实现。
答案 1 :(得分:0)
请注意,您如何自我评估您想要的任何时间(同步执行)。 伪:
DateTime begin = DateTime.Now;
// Your operations (for example 1 000 000 of them ... )
DateTime end = DateTime.Now;
TimeSpan operationsTakeOver = end - begin;
然后你不必在这里问性能问题。当然在大多数情况下。