vectorで遭遇したSegmentation faultのエラー

原因調査中

#include <iostream>
#include <string>
#include <vector>

using namespace std;

int main(){
  vector<int*> ard_val;

  int *current = new int[3];
  current[0] = 1;
  current[1] = 2;
  current[2] = 3;
  cout << current[0] << "\n";
  cout << current[1] << "\n";
  cout << current[2] << "\n";

  ard_val.push_back(current);

  /* segmentation fault                                                               
  cout << ard_val[ard_val.size()][0] << "\n";                                         
  cout << ard_val[ard_val.size()][1] << "\n";                                         
  cout << ard_val[ard_val.size()][2] << "\n";                                         
  */

  return 0;
}