char * str = new char[strlen(a)+1];

해놓고

strcpy(str, a);라 안하고 str =a 라 해도 에러가 안나던데 둘다 똑같은거임?