vector ã®è©±
vector
ããã¯ä½¿ç¨ããé åãå°ãªããªãåé¢ã &v[0]+i == &v[i] ã§ããã¨ãããvector ã¨ãã¦ã®ç¹å¾´ã®ä¸ã¤ãæºãããªããªã£ã¦ãã¾ãã¾ãã
ä»ã«ãããã¤ããbool 以å¤ã® vector ã¨ç°ãªãåä½ãããç®æãããã¾ãã
ãã®ãããTwitter ãæ²ç¤ºæ¿çã§ vector
ãããã£ãå ´é¢ã«ééãããã³ã«èªåã¯å¾®å¦ãªæ°åã«ãªãã¾ãã
å®éã®ã¨ãããã大éã®ããããæ ¼ç´ãããããã©ãã¡ã¢ãªãç¡é§ã«ããããªããã¨ããç¶æ³ããã*1ã¨ããvector
ã¾ãèªåã§ä½ãã¨ãã鏿è¢ãããã¯ã»ã¨ãã©ã®å ´åã¯è«å¤ã§ãããã
次㫠std::bitset
- N ã宿°ã§ãªãã¨ãããªãã®ã§ä½¿ããç¶æ³ãéããã
- ã³ã³ããã§ã¯ãªãã®ã§ã¤ãã¬ã¼ã¿ãæããªã
- ãã®ããã¢ã«ã´ãªãºã 颿°ã«æ¸¡ããªã
- any 㨠none 颿°ã¯ããããã©ããall å½ä»¤ãç¡ã*2
- ãã㯠count() == size() ã§åãã»ãã³ãã£ã¯ã¹ã«ãªãããã©ããããã ã¨å¿ ãå ¨è¦ç´ ãèµ°æ»ããã®ã§ãå¹³åãã¦åã®é度差ãåºã
ã¨ãã£ãæ¬ ç¹ãããã¾ãï¼æå¾ã®åé¡ã¯å¾®ã
ãããã®ã§ããï¼ãã»ã¨ãã©ã®å ´åã¯ä½¿ããã¨ã«ã¯ãªããªãã§ãããã
ãã ãåçã«ç¢ºä¿ããã®ã許容ã§ããªãå ´åã«ã¯ããã使ãããããã¾ããã
ãã¨ã¯ boost::dynamic_bitset ã使ãã¨ãã鏿è¢ã§ãã
ããã¯ãããvector
- ã³ã³ããã§ã¯ãªãã®ã§ã¤ãã¬ã¼ã¿ãæããªã
- all å½ä»¤ãç¡ã
ã¨ããæ¬ ç¹ã¯å¥å¨ã§ãã
ããã¦åçã«å¦çãããªãå¿
é ã ã¨æãããã®ã«ã
- dynamic_bitset ã«ã¯ insert çãªå½ä»¤ãç¡ã
- push_backãªããã
ã¨ããæ¬ ç¹ãããã¾ãã
ãã¨ã¯ã
- æ¨æºã©ã¤ãã©ãªã§ã¯ãªã
- dynamic_bitset ã«ã¯ç¾å¨ã¡ã³ãããããªã
ã¨ããåé¡ãããã¾ãã
ãã¡ããã±ã¼ã¹ã«ãã£ã¦ã¯ããã§ååãªå ´åã¯ããã§ããããããã¡ãã®æ¹ãé©ãã¦ããå ´åãããã§ãããããä¸è¬çã« vector
ãããªãã¨ããã¯ãã大éã®ããããæ ¼ç´ãããããã©ãã¡ã¢ãªãç¡é§ã«ããããªããã¨ããç¶æ³ã§ã¯ãvector
vector
Effective STL 第18é
ã§ãã
vector
Effective STL p77 第18項ãSTLã®ã³ã³ããã¨ãã¦æªãç¹ã¯2ã¤ãããªãã第1ã«ãSTLã®ã³ã³ããã§ã¯ãªãã第2ã«ãboolåã®å¤ãæ ¼ç´ãããªãããã®2ã¤ãé¤ãã°ãç°è°ãå±ããçç±ã¯ãªãã
ã¨è¨ã£ã¦ãã¾ãã
ã¤ã¾ãããã®ï¼ã¤ã®æ¬ ç¹ãçè§£ãã¦ä½¿ãåã«ã¯å
¨ç¶æ§ããªãã¨ãããã¨ã§ã*3ã
ãã¡ãã vector
æ¬æ¥ã§ããã°ããã㯠vector ã®ç¹æ®åã§ã¯ãªããvector_bool ã¨ãã£ãååã®ãå
¨ãå¥ã®ã¯ã©ã¹ã§ä½ãã¹ãã§ããã
ããããã°ãvector
ããã vector
vector
ã¨ãããã¨ã§ã¿ããªãvector
*1:ã¡ã¢ãªãç¡é§ã«ããããªãã®ã§ãã¾ã std::deque
*2:C++03 ãã¼ã¸ã§ã³ã®ã¿ãC++11 ã§ã¯ all 颿°ã¯åå¨ãã
*3:ãã ããã®é
ã®ã¿ã¤ãã«ããvector
*4:ããã¯ãæ¬ ç¹ãçè§£ãã¦ä»£ããã« bitset ã dynamic_bitset çã®å®è£
ã使ã£ãã¨ããã§ãä»äººã vector