More Related Content
PPTX
PPTX
PPTX
PPTX
PPTX
PDF
More effective c++ 항목30부터 PDF
More effective c++ chapter1 2_dcshin PDF
What's hot
PDF
Effective c++ chapter3, 4 요약본 PPT
effective c++ chapter 3~4 정리 PDF
Effective c++ chapter 1,2 요약 PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PDF
PDF
[SwiftStudy 2016] 2장. Swift 타입 파트 1 PDF
Effective C++ Chapter 1 Summary PPTX
PPTX
PDF
PPTX
Effective c++ 정리 chapter 6 PPTX
PDF
Effective c++ chapter1 2_dcshin PPTX
Similar to Effective c++ 1
PDF
PPTX
PPTX
PPTX
Effective c++chapter1 and2 PPTX
PPTX
PPTX
PDF
Effective c++ chapter5 6_ 131039 신동찬 PPTX
Effective c++ chapter 7,8 PDF
The c++ programming language 10장 클래스 발표 PPTX
Google c++codingconvention PPTX
More effective c++ chapter1,2 PPTX
PPTX
Effective c++(chapter 5,6) PDF
PDF
PPTX
More effective c++ 챕터3~4ppt PPTX
PPTX
PDF
Effective c++ chapter7_8_9_dcshin Effective c++ 1
- 1.
- 2.
- 3.
- 4.
- 5.
- 7.
- 8.
Const를 사용할 때
•포인터사용시 상수포인터를 정의
•포인터가 가리키는 대상도 상수로 정의
•Const char * const myFavorite = “D-Frag!”;
•Cont std::string myFavoriteChar = “Takao”;
- 9.
- 10.
- 11.
- 12.
- 13.
Enum의 특징
•Const는 주소값에접근할 수 있다.
•Enum은 주소값에 접근하는 것은 불법이다.
•절대 쓸데 없는 메모리 할당이 없다.
•나열자 둔갑술은 상당히 많이 사용된다.
•프로그래머는 닌자일지도 모른다.
- 14.
- 15.
- 16.
- 17.
레퍼런스(참조자)를 사용해야 할때
•참조하고자 하는 객체를 미리 알고 있을 때
•다른 객체를 바꾸어 참조할 일이 없을 때
•포인터를 사용하면 문법상 어색해질 때
- 18.
- 19.
- 20.
- 21.
- 22.
- 24.
- 25.
- 26.
- 28.
- 29.
- 30.
- 33.
- 37.
- 40.
- 41.
- 42.
- 43.
- 44.
컴파일러가 거부하는 경우
•클래스를구현한 코드가 적합하지 않거나 이치에
맞지 않을 경우
•예를 들면 참조자 멤버가 있는 경우
•이럴 경우 사용자가 직접 대입연산을 정의 해줘야
한다.
- 45.
- 46.
- 47.
- 48.
문제점
팩토리 함수에서 받는함수는 Timekeeper를 상속받는 파생클래스다.
따라서 할당 받은 메모리를 해제할 때 Timekeeper부분만 해제되고 파생클래스부분은 해제되지
못한 부분해제현상이 생김.
- 49.
해결
소멸자를 가상함수로 만들어가상함수 테이블을 생성, 파생클래스의 소멸자를 가리켜 해
제시에 호출되도록 한다.
쓸때없이 가상함수테이블을 만들어 메모리를 차지하지 말자.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
Operator=()을 사용할 시주의 사항_3
양현찬 : 멤버변수 하나 추가하면 함수에도 내용
을 추가해야 한다. 초기화 리스트에 추가하는 것
도 귀찮은데 이런 것도 해줘야 하나?
컴파일러 : ㅇㅇ
- 68.
상속받은 클래스임에도 불구하고초기화 리
스트에 상속받은 인자가 명시되지 않아
operator=함수에서 자기가 가진 고유한 멤
버만 복사된다!
계속되는 문제
- 69.