[pl in c++] 11. chapter
TRANSCRIPT
PL in C++
2014.8.6박민근
11 Chapter
수업전 질문
http://agebreak.clbnow.com
QA
저번 시간에 레퍼런스 변수는 메모리를 차지하지 않는다고 하셨는데 실제로 디스어셈블리해서 보니 레퍼런스 변수도 4 바이트 메모리 공간을 차지하는 것을 볼 수 있었습니다 . 교수님께서 말씀하신 것은 최적화작업이 일어났을 때를 의미하는 것인가요 ?
객체의 메모리를 복사 생성하지 않는다는 의미
QA
명시적 인라인과 암시적 인라인의 차이가 명시적 인라인을 사용하면 인라인이 될 확률이 올라간다고 하셨는데 , 그럼 구체적으로 어떤 경우에 명시적으로 하면 인라인이 되고 암시적으로 하면 인라인이 되지 않는지 궁금합니다 .
Don’t Care~~I Don’t Know~~
http://msdn.microsoft.com/ko-kr/library/z8y1yy88.aspx
퀴즈
1. Elf 와 DarkElf 를 랜덤으로 생성하여 , 리스트에 100 개를 채운다 .
2. DarkElf::Magic() 메소드를 추가한다 . ( 적당한 텍스트를 출력 )
3. 생성한 리스트를 돌면서 , DarkElf 인 경우에 Magic() 호출
QA
형변환 할 때 , 위험한 경우들은 본인이 미리 인지하여 사용하지 않거나 주의 깊게 사용해야 하나요 ? 또 , downcasting 의 경우 가능한 상황에만 맞춰서 써야하나요 ? 불가능한 / 위험한 경우가 존재하는데 이런 경우를 모두 예측하기 힘들다면 형변화를 사용하지 않는게 정석인가요 ?
형변환은 피할 수 없다 . 주의 깊게 사용 !!
QA
enum 을 많이 쓰면 좋다는 것은 이해했는데어떻게 활용해야 되는 것인지 활용 법을 잘 모르겠습니다 .
Type 구별이나 식별자 (ID) 에 주로 사용
퀴즈
Skill 클래스를 만든다 .
Map 에 스킬 객체 10 개를 생성해서 , (ID. 301,302,303…) 를 키값으로 일반 스킬 10 개를 넣는다 .
Map 에 스킬 객체 10 개를 생성해서 , (ID. 311,312,313…) 를 키값으로 스킬 10 개를 넣는다 .
일반 스킬에 새로운 스킬이 하나 추가되면 ??
QA
제가 알기론 enum 값은 기본적으로 숫자로 치환 가능하다고 알고 있는데m_Type = AIRCRAFT; //Ship_shape enum 값m_Hp = m_Type; //int이런 식으로 써도 괜찮은 건가요 ?
Enum 을 int(Index) 로 변환하여 사용하는 테크닉은 자주 쓰임 . 하지만 위처럼 사용하는 것은 안좋음 .
QA
또 궁금한 점은 enum 은 무언가를 대표하는 값이기 때문에 많은 클래스에서 접근이 필요할 것 같은데새로 헤더를 만들어서 그 곳에 모아 놓고 include 해서 쓰나요 아니면 클래스 헤더 안에 enum 값을 만들어서 include 해서 쓰나요
Case By Case(but.. 한 특정 헤더파일안에 모아두는 것이 좋다 )
QA
전방 선언을 하게 되면 헤더 파일에서 객체가 생성 되지 않습니다보통 객체 생성은 cpp 파일에서 생성 해서 다루게 되나요 ?그렇게 되면 그 객체의 접근성은 어떻게 되나요 ?
Public 메소드를 통해서 멤버 변수 접근GetXXX();
QA
C++ Hello World 가 1 만 2 천 줄 ? 이렇게 줄수가 많으데 그래도 C++ 가 C#, JAVA 보다 실행속도가 빠른지 의문이 가기 시작합니다 ..
빌드 타임과 런타임의 속도는 별개의 문제
http://www.slideshare.net/devcatpublications/ndc2010-unity-build
http://www.drdobbs.com/cpp/microbenchmarking-c-c-and-java/1844019762005 년 !
2007 년
http://www.irrlicht3d.org/pivot/entry.php?id=446
http://reverseblade.blogspot.kr/2009/02/c-versus-c-versus-java-performance.html
2009 년
http://fiehnlab.ucdavis.edu/staff/kind/Collector/Benchmark/JAVA_Benchmark/
2009 년
http://beautynbits.blogspot.kr/2013/01/performance-java-vs-c.html
2013 년
수업후 질문
http://agebreak.clbnow.com