블로그 이미지
LanSaid

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Recent Post

Recent Comment

Recent Trackback

Archive

2012. 5. 10. 19:16 Study/C++
* 소멸자
 1. 소멸자의 특징
  1) 소멸자는 반환값, 매개변수 모두 없다.
  2) 주로 뒤처리를 담당한다. ex>힙메모리를 사용하는 동적할당을  해제

 2. 객체의 삭제(소멸) 순서
  1) 소멸자 호출
  2) 객체에 할당된 메모리 해제


* this
 1. this의 특징
  1) this는 객체 자기자신을 가리키는 포인터이다.
  2) 객체는 모두 this포인터를 가진다.
  3) "&객체명" 과 동일하다.
  4) 객체 내 함수에서도 사용하여 객체에 포함된 멤버임을 표기하는 용도로도 쓸 수 있다.

* C 와 C++의 초기화 스타일
 1. C
  int num=20;
  int &ref=num;

 2. C++
  int num(20);
  int &ref(num);

  -> 객체를 이런 식으로 초기화 할경우?
  cClass cl2 = cl1;  => cClass cl2(cl1);  cl2를 생성하며 객체를 인자로 받는 생성자를 호출 하겠다... 라는 의미로 변경됨


* 복사 생성자
 1. 자신과 타입이 같은 다른 객체와의 복사가 이루어질때 이루어지는 생성자
 2. 형태의 예 : cClass(const cClass& cl) : mem1(cl.mem1), mem2(cl.mem2), .....
 3. 매개변수의 &가 의미하는 것
  1) 매개변수로 들어온 객체의 접근권한을 얻어 불필요한 복사 행위 방지
  2) 만일 레퍼런스로 받지 않으면 매개변수 상의 객체가 임시로 생성되면서 또 다시 생성자 호출이 일어나므로 무한 루프에 빠지게 된다.
 4. 호출되는 시점
  1) 기존에 생성된 객체를 이용해서 새로운 객체를 초기화 하는 경우
  2) Call by value 로 매개변수로 전달되어  임시 객체가 생성되는 경우3) 객체를 반환하되, 참조형으로 반환하지 않아 임시 객체가 생성되는 경우


* 깊은 복사, 얕은 복사
 1. 얕은 복사란?
  1) 단순히 객체간 멤버 변수를 복사 하는 행위
 
 2. 깊은 복사란?
  1) 객체간 복사에 있어 동적할당(힙 영역)이 있을 경우 그 영역을 새로 설정하여 힙영억간에도 복사가 이루어져 독립된 동적할당 영역을 유지하는 것



'Study > C++' 카테고리의 다른 글

[OOP1] 상속 업 캐스팅, 다운 캐스팅, 다이나믹 캐스팅  (0) 2012.06.04
[OOP1] 클래스  (0) 2012.05.17
[OOP1] 120507 Class 계속....  (0) 2012.05.07
[OOP1] 120503 Class, 객체, 생성자, 소멸자  (0) 2012.05.03
[OOP1] 클래스  (0) 2012.04.30
posted by LanSaid