#include <vector> #include <iostream> #include <ctime> using namespace std; #define mat_size 5E4 void p_new() {     clock_t start_time = clock();     double** mat;     mat = new double* [mat_size];     for (int i = 0; i < mat_size; i++)         mat[i] = new double[mat_size];     cout << "p_new running time : " << clock() - start_time << "ms" << endl;     for (int i = 0; i < mat_size; i++)         delete[] mat[i];     delete[] mat; } void vec_resize() {     clock_t start_time = clock();     vector<vector<double>> mat;     mat.resize(mat_size);     for (int i = 0; i < mat_size; i++)         mat[i].resize(mat_size);     cout << "vec_resize running time : " << clock() - start_time << "ms" << endl; } void vec_reserve() {     clock_t start_time = clock();     vector<vector<double>> mat;     mat.reserve(mat_size);     for (int i = 0; i < mat_size; i++)         mat[i].reserve(mat_size);     cout << "vec_reserve running time : " << clock() - start_time << "ms" << endl; } int main() {     p_new();     vec_resize();     vec_reserve();     return 0; }


일케 짜보면 결과는

p_new running time : 242ms vec_resize running time : 28421ms vec_reserve running time : 711ms


이렇게 나오는데 벡터 resize 쓸때만 begin end size 이런거 쓸 수 있고 배열 복사도 resize만 가능함 ㄷ

행렬 더 커지면 resize는 진짜 몇시간씩 걸리는데 뭐써야댐