比较代码如下:
#include#include #include using namespace std; int main(void) { int a[100000]; clock_t start=clock(); for (int j = 0; j < 100000; j++) { for (int i = 0; i < 100000; i++) { a[i] = i; } } clock_t end = clock(); cout << "栈数组:" << double((end - start) / CLK_TCK) << endl; int *b=new int[100000]; start = clock(); for (int j = 0; j < 100000; j++) { for (int i = 0; i < 100000; i++) { b[i] = i; } } end = clock(); cout << "堆数组:" << double((end - start) / CLK_TCK) << endl; vector c(100000); start = clock(); for (int j = 0; j < 100000; j++) { for (int i = 0; i < 100000; i++) { c[i] = i; } } end = clock(); cout << "vector向量:" << double((end - start) / CLK_TCK) << endl; }
比较结果:
比较结论:C++中从效率方面考虑,能用栈数组就不要new出来一个堆数组,能够使用数组就不要使用向量vector。



