E D R , A S I H C RSS

BackLinks search for "HitMap"

BackLinks of HitMap


Search BackLinks only
Display context of search results
Case-sensitive searching
  • MoreEffectiveC++/Techniques3of3
          typedef map<string, HitFunctionPtr> HitMap;
          static HitMap collisionMap;
         여기에서 collisionMap은 관련배열(associative array)이다. 그것은 클래스의 이름과(string 객체로) SpaceShip 멤버 함수 함수 포인터를 묶는다. 왜냐하면 map<string,HitFunctionPtr>로 하나로 묶였기 때문에, 이제 typedf을 이용해서 한번에 처리하기가 더 쉬워진다.(재미있게도 collisionMap의 선언은 HitMap과 HitFunctionPtr의 typedef 없이 한다. 대부분의 사람들이 이런식으로 처리를 원할 것이다.)
          static HitMap collisionMap; // 초기화 관련은 다음 주제에서 살핀다.
          HitMap::iterator mapEntry= collisionMap.find(typeid(whatWeHit).name());
          static HitMap collisionMap;
          static HitMap initializeCollisionMap();
          static HitMap collisionMap = initializeCollisionMap();
          static HitMap * initializeCollisionMap();
          static auto_ptr<HitMap> collisionMap(initializeCollisionMap());
         SpaceShip::HitMap * SpaceShip::initializeCollisionMap()
          HitMap *phm = new HitMap;
         그렇지만 앞에서 말한것과 같이 이건 컴파일 되지 않는다. 이유는 HitMap이 GameObject 이름 지어진 클래스의 형을 인자로 하는 멤버 함수의 포인터를 잡을수 있도록 만들었기 때문이다. 그렇지만 hitSpaceShip은 SpaceShip을 인자로 하고 hitSpaceStation은 SpaceStation그리고 hitAsteroid는 Asteroid를 인자로 한다. SpaceShip과 SpaceStation과 Asteroid가 암시적(implicit)으로 GameObject로 형변환 할수 있더라도, 위의 표현시에 그러한 형변환은 없다.
         SpaceShip::HitMap * SpaceShip::initializeCollisionMap()
          HitMap *phm = new HitMap;
         좋다. 그래서 형변환은 안된다. 그래. 하지만 HitMap이 가지고자 하는 hitSpaceShip, hitSpaceStation, hitAsteroid 함수를 수행할 함수 포인터들 사이에 형이 안맞는다. 여기에는 강제적인 해결 책밖에는 없다.:함수의 형을 바꾸어주어서 GameObject를 수용하게 해버리는것
         SpaceShip::HitMap * SpaceShip::initializeCollisionMap()
          HitMap *phm = new HitMap;
          typedef map< pair<string,string>, HitFunctionPtr > HitMap;
          HitMap * initializeCollisionMap();
Found 1 matching page out of 7544 total pages

You can also click here to search title.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
Processing time 0.0175 sec