[배열&vector] shallow copy, deep copy
테트로미노 문제를 풀고 깨달은 지식!
테트로미노
함수에 배열과 vector를 넣을 때 차이가 있다는 것!
int makeStandardShape(int TetroMino[MAX][MAX])
int makeStandardShape(vector<vector<int>> TetroMino)
int TetroMino[MAX][MAX] -> Shallow Copy
- == int** TetroMino
- 포인터 주소를 넘겨주기 때문에 참조를 한다!
- 기존 변수에 영향을 준다!
vector<vector> TetroMino -> Deep Copy
- 새로운 변수 TetroMino를 생성하여 값을 대입
- 기존 변수에 영향을 주지 않는다!!
- Shallow Copy로 변경하고 싶다면 & 를 붙인다!
int makeStandardShape(vector<vector<int>>& TetroMino)