[pl in c++] 11. chapter

20
PL in C++ 2014.8.6 박박박 11 Chapter

Upload: mingeun-park

Post on 14-Jun-2015

262 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: [Pl in c++] 11. chapter

PL in C++

2014.8.6박민근

11 Chapter

Page 2: [Pl in c++] 11. chapter

수업전 질문

http://agebreak.clbnow.com

Page 3: [Pl in c++] 11. chapter

QA

저번 시간에 레퍼런스 변수는 메모리를 차지하지 않는다고 하셨는데 실제로 디스어셈블리해서 보니 레퍼런스 변수도 4 바이트 메모리 공간을 차지하는 것을 볼 수 있었습니다 . 교수님께서 말씀하신 것은 최적화작업이 일어났을 때를 의미하는 것인가요 ?

객체의 메모리를 복사 생성하지 않는다는 의미

Page 4: [Pl in c++] 11. chapter

QA

명시적 인라인과 암시적 인라인의 차이가 명시적 인라인을 사용하면 인라인이 될 확률이 올라간다고 하셨는데 , 그럼 구체적으로 어떤 경우에 명시적으로 하면 인라인이 되고 암시적으로 하면 인라인이 되지 않는지 궁금합니다 .

Don’t Care~~I Don’t Know~~

Page 5: [Pl in c++] 11. chapter

http://msdn.microsoft.com/ko-kr/library/z8y1yy88.aspx

Page 6: [Pl in c++] 11. chapter

퀴즈

1. Elf 와 DarkElf 를 랜덤으로 생성하여 , 리스트에 100 개를 채운다 .

2. DarkElf::Magic() 메소드를 추가한다 . ( 적당한 텍스트를 출력 )

3. 생성한 리스트를 돌면서 , DarkElf 인 경우에 Magic() 호출

Page 7: [Pl in c++] 11. chapter

QA

형변환 할 때 , 위험한 경우들은 본인이 미리 인지하여 사용하지 않거나 주의 깊게 사용해야 하나요 ? 또 , downcasting 의 경우 가능한 상황에만 맞춰서 써야하나요 ? 불가능한 / 위험한 경우가 존재하는데 이런 경우를 모두 예측하기 힘들다면 형변화를 사용하지 않는게 정석인가요 ?

형변환은 피할 수 없다 . 주의 깊게 사용 !!

Page 8: [Pl in c++] 11. chapter

QA

enum 을 많이 쓰면 좋다는 것은 이해했는데어떻게 활용해야 되는 것인지 활용 법을 잘 모르겠습니다 .

Type 구별이나 식별자 (ID) 에 주로 사용

Page 9: [Pl in c++] 11. chapter

퀴즈

Skill 클래스를 만든다 .

Map 에 스킬 객체 10 개를 생성해서 , (ID. 301,302,303…) 를 키값으로 일반 스킬 10 개를 넣는다 .

Map 에 스킬 객체 10 개를 생성해서 , (ID. 311,312,313…) 를 키값으로 스킬 10 개를 넣는다 .

일반 스킬에 새로운 스킬이 하나 추가되면 ??

Page 10: [Pl in c++] 11. chapter

QA

제가 알기론 enum 값은 기본적으로 숫자로 치환 가능하다고 알고 있는데m_Type = AIRCRAFT; //Ship_shape enum 값m_Hp = m_Type; //int이런 식으로 써도 괜찮은 건가요 ?

Enum 을 int(Index) 로 변환하여 사용하는 테크닉은 자주 쓰임 . 하지만 위처럼 사용하는 것은 안좋음 .

Page 11: [Pl in c++] 11. chapter

QA

또 궁금한 점은 enum 은 무언가를 대표하는 값이기 때문에 많은 클래스에서 접근이 필요할 것 같은데새로 헤더를 만들어서 그 곳에 모아 놓고 include 해서 쓰나요 아니면 클래스 헤더 안에 enum 값을 만들어서 include 해서 쓰나요

Case By Case(but.. 한 특정 헤더파일안에 모아두는 것이 좋다 )

Page 12: [Pl in c++] 11. chapter

QA

전방 선언을 하게 되면 헤더 파일에서 객체가 생성 되지 않습니다보통 객체 생성은 cpp 파일에서 생성 해서 다루게 되나요 ?그렇게 되면 그 객체의 접근성은 어떻게 되나요 ?

Public 메소드를 통해서 멤버 변수 접근GetXXX();

Page 13: [Pl in c++] 11. chapter

QA

C++ Hello World 가 1 만 2 천 줄 ? 이렇게 줄수가 많으데 그래도 C++ 가 C#, JAVA 보다 실행속도가 빠른지 의문이 가기 시작합니다 ..

빌드 타임과 런타임의 속도는 별개의 문제

http://www.slideshare.net/devcatpublications/ndc2010-unity-build

Page 15: [Pl in c++] 11. chapter

2007 년

http://www.irrlicht3d.org/pivot/entry.php?id=446

Page 18: [Pl in c++] 11. chapter

http://raid6.com.au/~onlyjob/posts/arena/

2011 년

Page 20: [Pl in c++] 11. chapter

수업후 질문

http://agebreak.clbnow.com