If you know the elements beforehand then you could just do
int arr[2][3] = {{1,2, 3}, {4, 5, 6}};
This should be more efficient than method1 and method2. Using vectors, you are not doing memory manipulation yourself, but the vector implementation will probably use a dynamically allocated array.