[배열&vector] shallow copy, deep copy

최대 1 분 소요

테트로미노 문제를 풀고 깨달은 지식!
테트로미노

함수에 배열과 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)
    

카테고리:

업데이트: