But you should keep in mind that resize() also default-constructs all new elements that are added.
So you don't really save anything... the only difference is that resize initializes all elements to zero and the copy constructor copies the zeroes over from the temporary vector. Same result, though.
Global ints (the ones you declare outside every function) are indeed initialized to zero when declared. But this rule doesn't apply to the ints you declare inside your functions (i.e. to ints that are automatic variables).
AAAAAAAA!!!!! I'm gonna bite you! Why would you want to initialize them to zero? Give them the values of the dimensions of your array. For example 100,100 or 500,1000 or, in your case, 3000,3000 (which will result to a total of 9000000 elements)