fill的表现中规中矩,好处是可以赋各种值。 for不稳定 memset速度领先 #include <queue> #include <stack> #include <math.h> #include <stdio.h> #include <stdlib.h> #include <iostream> #include <limits.h> #include <string.h> #include <algorithm> using namespace std; class Time { public: void Start() //开始计时 { start_time=clock(); } int End() //结束计时,返回消耗的时间。以ms为单位 { return clock()-start_time; } private: clock_t start_time; }; const int MAX = 10000000; char a[MAX]; int main() { int i; char to = '/0'; Time t; t.Start(); clock(); memset(a,to,sizeof(a)); cout << t.End() << endl; t.Start(); clock(); for(i=0; i<MAX; i++) a[i] = to; cout << t.End() << endl; t.Start(); clock(); fill(a,a+MAX,to); cout << t.End(); system("pause"); return 0; }